diff --git a/docs/html/.buildinfo b/docs/html/.buildinfo index 54cfc865..bdaf0cf6 100644 --- a/docs/html/.buildinfo +++ b/docs/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: f8c32864d71075ed86014ee145636981 +config: a0f5869288e3cf083da4dd876b927545 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/html/.doctrees/composer-cli.doctree b/docs/html/.doctrees/composer-cli.doctree index 0f18d8a5..72f5b912 100644 Binary files a/docs/html/.doctrees/composer-cli.doctree and b/docs/html/.doctrees/composer-cli.doctree differ diff --git a/docs/html/.doctrees/composer.cli.doctree b/docs/html/.doctrees/composer.cli.doctree index e7375591..5c7734f8 100644 Binary files a/docs/html/.doctrees/composer.cli.doctree and b/docs/html/.doctrees/composer.cli.doctree differ diff --git a/docs/html/.doctrees/composer.doctree b/docs/html/.doctrees/composer.doctree index 385bb51b..17e8da96 100644 Binary files a/docs/html/.doctrees/composer.doctree and b/docs/html/.doctrees/composer.doctree differ diff --git a/docs/html/.doctrees/environment.pickle b/docs/html/.doctrees/environment.pickle index 6092882e..562bbfe5 100644 Binary files a/docs/html/.doctrees/environment.pickle and b/docs/html/.doctrees/environment.pickle differ diff --git a/docs/html/.doctrees/index.doctree b/docs/html/.doctrees/index.doctree index bb82811c..9f150f3c 100644 Binary files a/docs/html/.doctrees/index.doctree and b/docs/html/.doctrees/index.doctree differ diff --git a/docs/html/.doctrees/intro.doctree b/docs/html/.doctrees/intro.doctree index 41392cbc..ec1909d3 100644 Binary files a/docs/html/.doctrees/intro.doctree and b/docs/html/.doctrees/intro.doctree differ diff --git a/docs/html/.doctrees/livemedia-creator.doctree b/docs/html/.doctrees/livemedia-creator.doctree index 7397f304..b9e64092 100644 Binary files a/docs/html/.doctrees/livemedia-creator.doctree and b/docs/html/.doctrees/livemedia-creator.doctree differ diff --git a/docs/html/.doctrees/lorax-composer.doctree b/docs/html/.doctrees/lorax-composer.doctree index 1bc583c8..d1ac6f25 100644 Binary files a/docs/html/.doctrees/lorax-composer.doctree and b/docs/html/.doctrees/lorax-composer.doctree differ diff --git a/docs/html/.doctrees/lorax.doctree b/docs/html/.doctrees/lorax.doctree index f9be5789..30771708 100644 Binary files a/docs/html/.doctrees/lorax.doctree and b/docs/html/.doctrees/lorax.doctree differ diff --git a/docs/html/.doctrees/modules.doctree b/docs/html/.doctrees/modules.doctree index c96b257e..672b0023 100644 Binary files a/docs/html/.doctrees/modules.doctree and b/docs/html/.doctrees/modules.doctree differ diff --git a/docs/html/.doctrees/product-images.doctree b/docs/html/.doctrees/product-images.doctree index f1addd6a..2025b6c8 100644 Binary files a/docs/html/.doctrees/product-images.doctree and b/docs/html/.doctrees/product-images.doctree differ diff --git a/docs/html/.doctrees/pylorax.api.doctree b/docs/html/.doctrees/pylorax.api.doctree index 0c572ee6..d4268150 100644 Binary files a/docs/html/.doctrees/pylorax.api.doctree and b/docs/html/.doctrees/pylorax.api.doctree differ diff --git a/docs/html/.doctrees/pylorax.doctree b/docs/html/.doctrees/pylorax.doctree index 9ba391ac..bf3d0256 100644 Binary files a/docs/html/.doctrees/pylorax.doctree and b/docs/html/.doctrees/pylorax.doctree differ diff --git a/docs/html/_modules/composer/cli.html b/docs/html/_modules/composer/cli.html index 142bc38f..f7a8e3c4 100644 --- a/docs/html/_modules/composer/cli.html +++ b/docs/html/_modules/composer/cli.html @@ -8,7 +8,7 @@ - composer.cli — Lorax 31.9 documentation + composer.cli — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/blueprints.html b/docs/html/_modules/composer/cli/blueprints.html index 23420d7f..deb19c81 100644 --- a/docs/html/_modules/composer/cli/blueprints.html +++ b/docs/html/_modules/composer/cli/blueprints.html @@ -8,7 +8,7 @@ - composer.cli.blueprints — Lorax 31.9 documentation + composer.cli.blueprints — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/cmdline.html b/docs/html/_modules/composer/cli/cmdline.html index d2b90ed1..4c6e2968 100644 --- a/docs/html/_modules/composer/cli/cmdline.html +++ b/docs/html/_modules/composer/cli/cmdline.html @@ -8,7 +8,7 @@ - composer.cli.cmdline — Lorax 31.9 documentation + composer.cli.cmdline — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/compose.html b/docs/html/_modules/composer/cli/compose.html index 45828c73..dafcb060 100644 --- a/docs/html/_modules/composer/cli/compose.html +++ b/docs/html/_modules/composer/cli/compose.html @@ -8,7 +8,7 @@ - composer.cli.compose — Lorax 31.9 documentation + composer.cli.compose — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/modules.html b/docs/html/_modules/composer/cli/modules.html index d887ce91..de83bd7b 100644 --- a/docs/html/_modules/composer/cli/modules.html +++ b/docs/html/_modules/composer/cli/modules.html @@ -8,7 +8,7 @@ - composer.cli.modules — Lorax 31.9 documentation + composer.cli.modules — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/projects.html b/docs/html/_modules/composer/cli/projects.html index 8fb0f45d..5094381b 100644 --- a/docs/html/_modules/composer/cli/projects.html +++ b/docs/html/_modules/composer/cli/projects.html @@ -8,7 +8,7 @@ - composer.cli.projects — Lorax 31.9 documentation + composer.cli.projects — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/sources.html b/docs/html/_modules/composer/cli/sources.html index 15f9c6bd..7602dba0 100644 --- a/docs/html/_modules/composer/cli/sources.html +++ b/docs/html/_modules/composer/cli/sources.html @@ -8,7 +8,7 @@ - composer.cli.sources — Lorax 31.9 documentation + composer.cli.sources — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/status.html b/docs/html/_modules/composer/cli/status.html index d03db009..121ca1f1 100644 --- a/docs/html/_modules/composer/cli/status.html +++ b/docs/html/_modules/composer/cli/status.html @@ -8,7 +8,7 @@ - composer.cli.status — Lorax 31.9 documentation + composer.cli.status — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/cli/utilities.html b/docs/html/_modules/composer/cli/utilities.html index 720f518c..ea4eab2e 100644 --- a/docs/html/_modules/composer/cli/utilities.html +++ b/docs/html/_modules/composer/cli/utilities.html @@ -8,7 +8,7 @@ - composer.cli.utilities — Lorax 31.9 documentation + composer.cli.utilities — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/http_client.html b/docs/html/_modules/composer/http_client.html index b5090db2..74ffc02d 100644 --- a/docs/html/_modules/composer/http_client.html +++ b/docs/html/_modules/composer/http_client.html @@ -8,7 +8,7 @@ - composer.http_client — Lorax 31.9 documentation + composer.http_client — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/composer/unix_socket.html b/docs/html/_modules/composer/unix_socket.html index c423fdea..d6728862 100644 --- a/docs/html/_modules/composer/unix_socket.html +++ b/docs/html/_modules/composer/unix_socket.html @@ -8,7 +8,7 @@ - composer.unix_socket — Lorax 31.9 documentation + composer.unix_socket — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
diff --git a/docs/html/_modules/index.html b/docs/html/_modules/index.html index 9cc1f9f4..9ea3b573 100644 --- a/docs/html/_modules/index.html +++ b/docs/html/_modules/index.html @@ -8,7 +8,7 @@ - Overview: module code — Lorax 31.9 documentation + Overview: module code — Lorax 31.10 documentation @@ -58,7 +58,7 @@
- 31.9 + 31.10
@@ -178,7 +178,9 @@
  • pylorax.api.server
  • pylorax.api.timestamp
  • pylorax.api.toml
  • +
  • pylorax.api.utils
  • pylorax.api.v0
  • +
  • pylorax.api.v1
  • pylorax.api.workspace
  • pylorax.base
  • pylorax.buildstamp
  • diff --git a/docs/html/_modules/pylorax.html b/docs/html/_modules/pylorax.html index ef603ccc..b2ba6358 100644 --- a/docs/html/_modules/pylorax.html +++ b/docs/html/_modules/pylorax.html @@ -8,7 +8,7 @@ - pylorax — Lorax 31.9 documentation + pylorax — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/bisect.html b/docs/html/_modules/pylorax/api/bisect.html index a447ead6..ffbe8b57 100644 --- a/docs/html/_modules/pylorax/api/bisect.html +++ b/docs/html/_modules/pylorax/api/bisect.html @@ -8,7 +8,7 @@ - pylorax.api.bisect — Lorax 31.9 documentation + pylorax.api.bisect — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/checkparams.html b/docs/html/_modules/pylorax/api/checkparams.html index 4b614adf..d3e3199a 100644 --- a/docs/html/_modules/pylorax/api/checkparams.html +++ b/docs/html/_modules/pylorax/api/checkparams.html @@ -8,7 +8,7 @@ - pylorax.api.checkparams — Lorax 31.9 documentation + pylorax.api.checkparams — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/cmdline.html b/docs/html/_modules/pylorax/api/cmdline.html index 3fa34eab..e34934da 100644 --- a/docs/html/_modules/pylorax/api/cmdline.html +++ b/docs/html/_modules/pylorax/api/cmdline.html @@ -8,7 +8,7 @@ - pylorax.api.cmdline — Lorax 31.9 documentation + pylorax.api.cmdline — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/compose.html b/docs/html/_modules/pylorax/api/compose.html index 9da3992e..ecfd87d1 100644 --- a/docs/html/_modules/pylorax/api/compose.html +++ b/docs/html/_modules/pylorax/api/compose.html @@ -8,7 +8,7 @@ - pylorax.api.compose — Lorax 31.9 documentation + pylorax.api.compose — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -1058,6 +1058,31 @@ "app_file": None, "squashfs_only": False, }, + "liveimg-tar": {"make_iso": False, + "make_disk": False, + "make_fsimage": False, + "make_appliance": False, + "make_ami": False, + "make_tar": True, + "make_tar_disk": False, + "make_pxe_live": False, + "make_ostree_live": False, + "make_oci": False, + "make_vagrant": False, + "ostree": False, + "live_rootfs_keep_size": False, + "live_rootfs_size": 0, + "image_size_align": 0, + "image_type": False, # False instead of None because of TOML + "qemu_args": [], + "image_name": default_image_name("xz", "root.tar"), + "tar_disk_name": None, + "image_only": True, + "app_name": None, + "app_template": None, + "app_file": None, + "squashfs_only": False, + }, "live-iso": {"make_iso": True, "make_disk": False, "make_fsimage": False, diff --git a/docs/html/_modules/pylorax/api/config.html b/docs/html/_modules/pylorax/api/config.html index 2893839b..1afabc65 100644 --- a/docs/html/_modules/pylorax/api/config.html +++ b/docs/html/_modules/pylorax/api/config.html @@ -8,7 +8,7 @@ - pylorax.api.config — Lorax 31.9 documentation + pylorax.api.config — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/dnfbase.html b/docs/html/_modules/pylorax/api/dnfbase.html index a7a85993..b046b7e2 100644 --- a/docs/html/_modules/pylorax/api/dnfbase.html +++ b/docs/html/_modules/pylorax/api/dnfbase.html @@ -8,7 +8,7 @@ - pylorax.api.dnfbase — Lorax 31.9 documentation + pylorax.api.dnfbase — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -262,6 +262,11 @@ if conf.has_option("dnf", "sslverify") and not conf.getboolean("dnf", "sslverify"): dbc.sslverify = False + # If the system repos are enabled read the dnf vars from /etc/dnf/vars/ + if not conf.has_option("repos", "use_system_repos") or conf.getboolean("repos", "use_system_repos"): + dbc.substitutions.update_from_etc("/") + log.info("dnf vars: %s", dbc.substitutions) + _releasever = conf.get_default("composer", "releasever", None) if not _releasever: # Use the releasever of the host system diff --git a/docs/html/_modules/pylorax/api/flask_blueprint.html b/docs/html/_modules/pylorax/api/flask_blueprint.html index c91725b2..34453b42 100644 --- a/docs/html/_modules/pylorax/api/flask_blueprint.html +++ b/docs/html/_modules/pylorax/api/flask_blueprint.html @@ -8,7 +8,7 @@ - pylorax.api.flask_blueprint — Lorax 31.9 documentation + pylorax.api.flask_blueprint — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/gitrpm.html b/docs/html/_modules/pylorax/api/gitrpm.html index a1d68349..20050568 100644 --- a/docs/html/_modules/pylorax/api/gitrpm.html +++ b/docs/html/_modules/pylorax/api/gitrpm.html @@ -8,7 +8,7 @@ - pylorax.api.gitrpm — Lorax 31.9 documentation + pylorax.api.gitrpm — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/projects.html b/docs/html/_modules/pylorax/api/projects.html index 985b3234..dfe4e98f 100644 --- a/docs/html/_modules/pylorax/api/projects.html +++ b/docs/html/_modules/pylorax/api/projects.html @@ -8,7 +8,7 @@ - pylorax.api.projects — Lorax 31.9 documentation + pylorax.api.projects — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -182,6 +182,7 @@ import time from pylorax.api.bisect import insort_left +from pylorax.sysutils import joinpaths TIME_FORMAT = "%Y-%m-%dT%H:%M:%S" @@ -567,13 +568,15 @@ return repo_str -
    [docs]def repo_to_source(repo, system_source): +
    [docs]def repo_to_source(repo, system_source, api=1): """Return a Weldr Source dict created from the DNF Repository :param repo: DNF Repository :type repo: dnf.RepoDict :param system_source: True if this source is an immutable system source :type system_source: bool + :param api: Select which api version of the dict to return (default 1) + :type api: int :returns: A dict with Weldr Source fields filled in :rtype: dict @@ -585,15 +588,23 @@ "gpgkey_url": [ "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-x86_64" ], - "name": "fedora", + "id": "fedora", + "name": "Fedora $releasever - $basearch", "proxy": "http://proxy.brianlane.com:8123", "system": true "type": "yum-metalink", "url": "https://mirrors.fedoraproject.org/metalink?repo=fedora-28&arch=x86_64" } + The ``name`` field has changed in v1 of the API. + In v0 of the API ``name`` is the repo.id, in v1 it is the repo.name and a new field, + ``id`` has been added for the repo.id + """ - source = {"name": repo.id, "system": system_source} + if api==0: + source = {"name": repo.id, "system": system_source} + else: + source = {"id": repo.id, "name": repo.name, "system": system_source} if repo.baseurl: source["url"] = repo.baseurl[0] source["type"] = "yum-baseurl" @@ -625,11 +636,65 @@ return source
    +
    [docs]def source_to_repodict(source): + """Return a tuple suitable for use with dnf.add_new_repo + + :param source: A Weldr source dict + :type source: dict + :returns: A tuple of dnf.Repo attributes + :rtype: (str, list, dict) + + Return a tuple with (id, baseurl|(), kwargs) that can be used + with dnf.repos.add_new_repo + """ + kwargs = {} + if "id" in source: + # This is an API v1 source definition + repoid = source["id"] + if "name" in source: + kwargs["name"] = source["name"] + else: + repoid = source["name"] + + # This will allow errors to be raised so we can catch them + # without this they are logged, but the repo is silently disabled + kwargs["skip_if_unavailable"] = False + + if source["type"] == "yum-baseurl": + baseurl = [source["url"]] + elif source["type"] == "yum-metalink": + kwargs["metalink"] = source["url"] + baseurl = () + elif source["type"] == "yum-mirrorlist": + kwargs["mirrorlist"] = source["url"] + baseurl = () + + if "proxy" in source: + kwargs["proxy"] = source["proxy"] + + if source["check_ssl"]: + kwargs["sslverify"] = True + else: + kwargs["sslverify"] = False + + if source["check_gpg"]: + kwargs["gpgcheck"] = True + else: + kwargs["gpgcheck"] = False + + if "gpgkey_urls" in source: + kwargs["gpgkey"] = tuple(source["gpgkey_urls"]) + + return (repoid, baseurl, kwargs)
    + +
    [docs]def source_to_repo(source, dnf_conf): """Return a dnf Repo object created from a source dict :param source: A Weldr source dict :type source: dict + :param dnf_conf: The dnf Config object + :type dnf_conf: dnf.conf :returns: A dnf Repo object :rtype: dnf.Repo @@ -641,41 +706,25 @@ "gpgkey_urls": [ "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-x86_64" ], - "name": "fedora", + "id": "fedora", + "name": "Fedora $releasever - $basearch", "proxy": "http://proxy.brianlane.com:8123", "system": True "type": "yum-metalink", "url": "https://mirrors.fedoraproject.org/metalink?repo=fedora-28&arch=x86_64" } + If the ``id`` field is included it is used for the repo id, otherwise ``name`` is used. + v0 of the API only used ``name``, v1 added the distinction between ``id`` and ``name``. """ - repo = dnf.repo.Repo(source["name"], dnf_conf) - # This will allow errors to be raised so we can catch them - # without this they are logged, but the repo is silently disabled - repo.skip_if_unavailable = False + repoid, baseurl, kwargs = source_to_repodict(source) + repo = dnf.repo.Repo(repoid, dnf_conf) + if baseurl: + repo.baseurl = baseurl - if source["type"] == "yum-baseurl": - repo.baseurl = source["url"] - elif source["type"] == "yum-metalink": - repo.metalink = source["url"] - elif source["type"] == "yum-mirrorlist": - repo.mirrorlist = source["url"] - - if "proxy" in source: - repo.proxy = source["proxy"] - - if source["check_ssl"]: - repo.sslverify = True - else: - repo.sslverify = False - - if source["check_gpg"]: - repo.gpgcheck = True - else: - repo.gpgcheck = False - - if "gpgkey_urls" in source: - repo.gpgkey = tuple(source["gpgkey_urls"]) + # Apply the rest of the kwargs to the Repo object + for k, v in kwargs.items(): + setattr(repo, k, v) repo.enable() @@ -709,11 +758,13 @@ sources.extend(get_source_ids(f)) return sources
    -
    [docs]def delete_repo_source(source_glob, source_name): +
    [docs]def delete_repo_source(source_glob, source_id): """Delete a source from a repo file :param source_glob: A glob of the repo sources to search :type source_glob: str + :param source_id: The repo id to delete + :type source_id: str :returns: None :raises: ProjectsError if there was a problem @@ -721,16 +772,16 @@ If it is the last one in the file, delete the file. WARNING: This will delete ANY source, the caller needs to ensure that a system - source_name isn't passed to it. + source_id isn't passed to it. """ found = False for f in glob(source_glob): try: cfg = ConfigParser() cfg.read(f) - if source_name in cfg.sections(): + if source_id in cfg.sections(): found = True - cfg.remove_section(source_name) + cfg.remove_section(source_id) # If there are other sections, rewrite the file without the deleted one if len(cfg.sections()) > 0: with open(f, "w") as cfg_file: @@ -739,9 +790,69 @@ # No sections left, just delete the file os.unlink(f) except Exception as e: - raise ProjectsError("Problem deleting repo source %s: %s" % (source_name, str(e))) + raise ProjectsError("Problem deleting repo source %s: %s" % (source_id, str(e))) if not found: - raise ProjectsError("source %s not found" % source_name)
    + raise ProjectsError("source %s not found" % source_id)
    + +
    [docs]def new_repo_source(dbo, repoid, source, repo_dir): + """Add a new repo source from a Weldr source dict + + :param dbo: dnf base object + :type dbo: dnf.Base + :param id: The repo id (API v0 uses the name, v1 uses the id) + :type id: str + :param source: A Weldr source dict + :type source: dict + :returns: None + :raises: ... + + Make sure access to the dbo has been locked before calling this. + The `id` parameter will the the 'name' field for API v0, and the 'id' field for API v1 + + DNF variables will be substituted at load time, and on restart. + """ + try: + # Remove it from the RepoDict (NOTE that this isn't explicitly supported by the DNF API) + # If this repo already exists, delete it and replace it with the new one + repos = list(r.id for r in dbo.repos.iter_enabled()) + if repoid in repos: + del dbo.repos[repoid] + + # Add the repo and substitute any dnf variables + _, baseurl, kwargs = source_to_repodict(source) + log.debug("repoid=%s, baseurl=%s, kwargs=%s", repoid, baseurl, kwargs) + r = dbo.repos.add_new_repo(repoid, dbo.conf, baseurl, **kwargs) + r.enable() + + log.info("Updating repository metadata after adding %s", repoid) + dbo.fill_sack(load_system_repo=False) + dbo.read_comps() + + # Remove any previous sources with this id, ignore it if it isn't found + try: + delete_repo_source(joinpaths(repo_dir, "*.repo"), repoid) + except ProjectsError: + pass + + # Make sure the source id can't contain a path traversal by taking the basename + source_path = joinpaths(repo_dir, os.path.basename("%s.repo" % repoid)) + # Write the un-substituted version of the repo to disk + with open(source_path, "w") as f: + repo = source_to_repo(source, dbo.conf) + f.write(dnf_repo_to_file_repo(repo)) + except Exception as e: + log.error("(new_repo_source) adding %s failed: %s", repoid, str(e)) + + # Cleanup the mess, if loading it failed we don't want to leave it in memory + repos = list(r.id for r in dbo.repos.iter_enabled()) + if repoid in repos: + del dbo.repos[repoid] + + log.info("Updating repository metadata after adding %s failed", repoid) + dbo.fill_sack(load_system_repo=False) + dbo.read_comps() + + raise
    diff --git a/docs/html/_modules/pylorax/api/queue.html b/docs/html/_modules/pylorax/api/queue.html index 7ee7a36b..ee70af62 100644 --- a/docs/html/_modules/pylorax/api/queue.html +++ b/docs/html/_modules/pylorax/api/queue.html @@ -8,7 +8,7 @@ - pylorax.api.queue — Lorax 31.9 documentation + pylorax.api.queue — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/recipes.html b/docs/html/_modules/pylorax/api/recipes.html index 14e6bac0..87249c87 100644 --- a/docs/html/_modules/pylorax/api/recipes.html +++ b/docs/html/_modules/pylorax/api/recipes.html @@ -8,7 +8,7 @@ - pylorax.api.recipes — Lorax 31.9 documentation + pylorax.api.recipes — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/server.html b/docs/html/_modules/pylorax/api/server.html index 1846b11d..986e3af8 100644 --- a/docs/html/_modules/pylorax/api/server.html +++ b/docs/html/_modules/pylorax/api/server.html @@ -8,7 +8,7 @@ - pylorax.api.server — Lorax 31.9 documentation + pylorax.api.server — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -184,6 +184,7 @@ from pylorax import vernum from pylorax.api.errors import HTTP_ERROR from pylorax.api.v0 import v0_api +from pylorax.api.v1 import v1_api from pylorax.sysutils import joinpaths GitLock = namedtuple("GitLock", ["repo", "lock", "dir"]) @@ -211,9 +212,9 @@ return send_from_directory(docs_path, path) @server.route("/api/status") -def v0_status(): +def api_status(): """ - `/api/v0/status` + `/api/status` ^^^^^^^^^^^^^^^^ Return the status of the API Server:: @@ -231,7 +232,7 @@ """ return jsonify(backend="lorax-composer", build=vernum, - api="0", + api="1", db_version="0", schema_version="0", db_supported=True, @@ -243,6 +244,12 @@ # Register the v0 API on /api/v0/ server.register_blueprint(v0_api, url_prefix="/api/v0/") + +# Register the v1 API on /api/v1/ +# Use v0 routes by default +server.register_blueprint(v0_api, url_prefix="/api/v1/", + skip_rules=["/projects/source/info/<source_names>", "/projects/source/new"]) +server.register_blueprint(v1_api, url_prefix="/api/v1/") diff --git a/docs/html/_modules/pylorax/api/timestamp.html b/docs/html/_modules/pylorax/api/timestamp.html index a8909dd8..ced9919b 100644 --- a/docs/html/_modules/pylorax/api/timestamp.html +++ b/docs/html/_modules/pylorax/api/timestamp.html @@ -8,7 +8,7 @@ - pylorax.api.timestamp — Lorax 31.9 documentation + pylorax.api.timestamp — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/toml.html b/docs/html/_modules/pylorax/api/toml.html index 2d94f9f0..8ed80b14 100644 --- a/docs/html/_modules/pylorax/api/toml.html +++ b/docs/html/_modules/pylorax/api/toml.html @@ -8,7 +8,7 @@ - pylorax.api.toml — Lorax 31.9 documentation + pylorax.api.toml — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/api/utils.html b/docs/html/_modules/pylorax/api/utils.html new file mode 100644 index 00000000..99c2decc --- /dev/null +++ b/docs/html/_modules/pylorax/api/utils.html @@ -0,0 +1,249 @@ + + + + + + + + + + + pylorax.api.utils — Lorax 31.10 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    +
    + +

    Source code for pylorax.api.utils

    +#
    +# Copyright (C) 2019  Red Hat, Inc.
    +#
    +# This program is free software; you can redistribute it and/or modify
    +# it under the terms of the GNU General Public License as published by
    +# the Free Software Foundation; either version 2 of the License, or
    +# (at your option) any later version.
    +#
    +# This program is distributed in the hope that it will be useful,
    +# but WITHOUT ANY WARRANTY; without even the implied warranty of
    +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +# GNU General Public License for more details.
    +#
    +# You should have received a copy of the GNU General Public License
    +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
    +""" API utility functions
    +"""
    +from pylorax.api.recipes import RecipeError, RecipeFileError, read_recipe_commit
    +
    +
    [docs]def take_limits(iterable, offset, limit): + """ Apply offset and limit to an iterable object + + :param iterable: The object to limit + :type iterable: iter + :param offset: The number of items to skip + :type offset: int + :param limit: The total number of items to return + :type limit: int + :returns: A subset of the iterable + """ + return iterable[offset:][:limit]
    + +
    [docs]def blueprint_exists(api, branch, blueprint_name): + """Return True if the blueprint exists + + :param api: flask object + :type api: Flask + :param branch: Branch name + :type branch: str + :param recipe_name: Recipe name to read + :type recipe_name: str + """ + try: + with api.config["GITLOCK"].lock: + read_recipe_commit(api.config["GITLOCK"].repo, branch, blueprint_name) + + return True + except (RecipeError, RecipeFileError): + return False
    +
    + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/html/_modules/pylorax/api/v0.html b/docs/html/_modules/pylorax/api/v0.html index cda9f971..f4ffa4c5 100644 --- a/docs/html/_modules/pylorax/api/v0.html +++ b/docs/html/_modules/pylorax/api/v0.html @@ -8,7 +8,7 @@ - pylorax.api.v0 — Lorax 31.9 documentation + pylorax.api.v0 — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -220,50 +220,20 @@ from pylorax.api.flask_blueprint import BlueprintSkip from pylorax.api.projects import projects_list, projects_info, projects_depsolve from pylorax.api.projects import modules_list, modules_info, ProjectsError, repo_to_source -from pylorax.api.projects import get_repo_sources, delete_repo_source, source_to_repo, dnf_repo_to_file_repo +from pylorax.api.projects import get_repo_sources, delete_repo_source, new_repo_source from pylorax.api.queue import queue_status, build_status, uuid_delete, uuid_status, uuid_info from pylorax.api.queue import uuid_tar, uuid_image, uuid_cancel, uuid_log -from pylorax.api.recipes import RecipeError, list_branch_files, read_recipe_commit, recipe_filename, list_commits +from pylorax.api.recipes import list_branch_files, read_recipe_commit, recipe_filename, list_commits from pylorax.api.recipes import recipe_from_dict, recipe_from_toml, commit_recipe, delete_recipe, revert_recipe from pylorax.api.recipes import tag_recipe_commit, recipe_diff, RecipeFileError from pylorax.api.regexes import VALID_API_STRING, VALID_BLUEPRINT_NAME import pylorax.api.toml as toml +from pylorax.api.utils import take_limits, blueprint_exists from pylorax.api.workspace import workspace_read, workspace_write, workspace_delete # The API functions don't actually get called by any code here # pylint: disable=unused-variable -
    [docs]def take_limits(iterable, offset, limit): - """ Apply offset and limit to an iterable object - - :param iterable: The object to limit - :type iterable: iter - :param offset: The number of items to skip - :type offset: int - :param limit: The total number of items to return - :type limit: int - :returns: A subset of the iterable - """ - return iterable[offset:][:limit]
    - -
    [docs]def blueprint_exists(branch, blueprint_name): - """Return True if the blueprint exists - - :param api: flask object - :type api: Flask - :param branch: Branch name - :type branch: str - :param recipe_name: Recipe name to read - :type recipe_name: str - """ - try: - with api.config["GITLOCK"].lock: - read_recipe_commit(api.config["GITLOCK"].repo, branch, blueprint_name) - - return True - except (RecipeError, RecipeFileError): - return False
    - # Create the v0 routes Blueprint with skip_routes support v0_api = BlueprintSkip("v0_routes", __name__) @@ -811,7 +781,7 @@ if VALID_API_STRING.match(branch) is None: return jsonify(status=False, errors=[{"id": INVALID_CHARS, "msg": "Invalid characters in branch argument"}]), 400 - if not blueprint_exists(branch, blueprint_name): + if not blueprint_exists(api, branch, blueprint_name): return jsonify(status=False, errors=[{"id": UNKNOWN_BLUEPRINT, "msg": "Unknown blueprint name: %s" % blueprint_name}]) try: @@ -1332,7 +1302,7 @@ if not repo: errors.append({"id": UNKNOWN_SOURCE, "msg": "%s is not a valid source" % source}) continue - sources[repo.id] = repo_to_source(repo, repo.id in system_sources) + sources[repo.id] = repo_to_source(repo, repo.id in system_sources, api=0) if out_fmt == "toml" and not errors: # With TOML output we just want to dump the raw sources, skipping the errors @@ -1394,46 +1364,9 @@ try: # Remove it from the RepoDict (NOTE that this isn't explicitly supported by the DNF API) with api.config["DNFLOCK"].lock: - dbo = api.config["DNFLOCK"].dbo - # If this repo already exists, delete it and replace it with the new one - repos = list(r.id for r in dbo.repos.iter_enabled()) - if source["name"] in repos: - del dbo.repos[source["name"]] - - repo = source_to_repo(source, dbo.conf) - dbo.repos.add(repo) - - log.info("Updating repository metadata after adding %s", source["name"]) - dbo.fill_sack(load_system_repo=False) - dbo.read_comps() - - # Write the new repo to disk, replacing any existing ones - repo_dir = api.config["COMPOSER_CFG"].get("composer", "repo_dir") - - # Remove any previous sources with this name, ignore it if it isn't found - try: - delete_repo_source(joinpaths(repo_dir, "*.repo"), source["name"]) - except ProjectsError: - pass - - # Make sure the source name can't contain a path traversal by taking the basename - source_path = joinpaths(repo_dir, os.path.basename("%s.repo" % source["name"])) - with open(source_path, "w") as f: - f.write(dnf_repo_to_file_repo(repo)) + repo_dir = api.config["COMPOSER_CFG"].get("composer", "repo_dir") + new_repo_source(api.config["DNFLOCK"].dbo, source["name"], source, repo_dir) except Exception as e: - log.error("(v0_projects_source_add) adding %s failed: %s", source["name"], str(e)) - - # Cleanup the mess, if loading it failed we don't want to leave it in memory - repos = list(r.id for r in dbo.repos.iter_enabled()) - if source["name"] in repos: - with api.config["DNFLOCK"].lock: - dbo = api.config["DNFLOCK"].dbo - del dbo.repos[source["name"]] - - log.info("Updating repository metadata after adding %s failed", source["name"]) - dbo.fill_sack(load_system_repo=False) - dbo.read_comps() - return jsonify(status=False, errors=[{"id": PROJECTS_ERROR, "msg": str(e)}]), 400 return jsonify(status=True) @@ -1681,7 +1614,7 @@ if VALID_BLUEPRINT_NAME.match(blueprint_name) is None: errors.append({"id": INVALID_CHARS, "msg": "Invalid characters in API path"}) - if not blueprint_exists(branch, blueprint_name): + if not blueprint_exists(api, branch, blueprint_name): errors.append({"id": UNKNOWN_BLUEPRINT, "msg": "Unknown blueprint name: %s" % blueprint_name}) if errors: diff --git a/docs/html/_modules/pylorax/api/v1.html b/docs/html/_modules/pylorax/api/v1.html new file mode 100644 index 00000000..1261df88 --- /dev/null +++ b/docs/html/_modules/pylorax/api/v1.html @@ -0,0 +1,368 @@ + + + + + + + + + + + pylorax.api.v1 — Lorax 31.10 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    +
    + +

    Source code for pylorax.api.v1

    +#
    +# Copyright (C) 2019  Red Hat, Inc.
    +#
    +# This program is free software; you can redistribute it and/or modify
    +# it under the terms of the GNU General Public License as published by
    +# the Free Software Foundation; either version 2 of the License, or
    +# (at your option) any later version.
    +#
    +# This program is distributed in the hope that it will be useful,
    +# but WITHOUT ANY WARRANTY; without even the implied warranty of
    +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +# GNU General Public License for more details.
    +#
    +# You should have received a copy of the GNU General Public License
    +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
    +#
    +""" Setup v1 of the API server
    +
    +"""
    +import logging
    +log = logging.getLogger("lorax-composer")
    +
    +from flask import jsonify, request
    +from flask import current_app as api
    +
    +from pylorax.api.checkparams import checkparams
    +from pylorax.api.errors import INVALID_CHARS, PROJECTS_ERROR, SYSTEM_SOURCE, UNKNOWN_SOURCE
    +from pylorax.api.flask_blueprint import BlueprintSkip
    +from pylorax.api.projects import get_repo_sources, new_repo_source, repo_to_source
    +from pylorax.api.regexes import VALID_API_STRING
    +import pylorax.api.toml as toml
    +
    +# Create the v1 routes Blueprint with skip_routes support
    +v1_api = BlueprintSkip("v1_routes", __name__)
    +
    +
    [docs]@v1_api.route("/projects/source/info", defaults={'source_ids': ""}) +@v1_api.route("/projects/source/info/<source_ids>") +@checkparams([("source_ids", "", "no source names given")]) +def v1_projects_source_info(source_ids): + """Return detailed info about the list of sources + + **/api/v1/projects/source/info/<source-ids>** + + Return information about the comma-separated list of source ids. Or all of the + sources if '*' is passed. Note that general globbing is not supported, only '*'. + + Immutable system sources will have the "system" field set to true. User added sources + will have it set to false. System sources cannot be changed or deleted. + + Example:: + + { + "errors": [], + "sources": { + "fedora": { + "check_gpg": true, + "check_ssl": true, + "gpgkey_urls": [ + "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-x86_64" + ], + "id": "fedora", + "name": "Fedora $releasever - $basearch", + "proxy": "http://proxy.brianlane.com:8123", + "system": true, + "type": "yum-metalink", + "url": "https://mirrors.fedoraproject.org/metalink?repo=fedora-28&arch=x86_64" + } + } + } + + In v0 the ``name`` field was used for the id (a short name for the repo). In v1 ``name`` changed + to ``id`` and ``name`` is now used for the longer descriptive name of the repository. + """ + if VALID_API_STRING.match(source_ids) is None: + return jsonify(status=False, errors=[{"id": INVALID_CHARS, "msg": "Invalid characters in API path"}]), 400 + + out_fmt = request.args.get("format", "json") + if VALID_API_STRING.match(out_fmt) is None: + return jsonify(status=False, errors=[{"id": INVALID_CHARS, "msg": "Invalid characters in format argument"}]), 400 + + # Return info on all of the sources + if source_ids == "*": + with api.config["DNFLOCK"].lock: + source_ids = ",".join(r.id for r in api.config["DNFLOCK"].dbo.repos.iter_enabled()) + + sources = {} + errors = [] + system_sources = get_repo_sources("/etc/yum.repos.d/*.repo") + for source in source_ids.split(","): + with api.config["DNFLOCK"].lock: + repo = api.config["DNFLOCK"].dbo.repos.get(source, None) + if not repo: + errors.append({"id": UNKNOWN_SOURCE, "msg": "%s is not a valid source" % source}) + continue + sources[repo.id] = repo_to_source(repo, repo.id in system_sources, api=1) + + if out_fmt == "toml" and not errors: + # With TOML output we just want to dump the raw sources, skipping the errors + return toml.dumps(sources) + elif out_fmt == "toml" and errors: + # TOML requested, but there was an error + return jsonify(status=False, errors=errors), 400 + else: + return jsonify(sources=sources, errors=errors)
    + +
    [docs]@v1_api.route("/projects/source/new", methods=["POST"]) +def v1_projects_source_new(): + """Add a new package source. Or change an existing one + + **POST /api/v0/projects/source/new** + + Add (or change) a source for use when depsolving blueprints and composing images. + + The ``proxy`` and ``gpgkey_urls`` entries are optional. All of the others are required. The supported + types for the urls are: + + * ``yum-baseurl`` is a URL to a yum repository. + * ``yum-mirrorlist`` is a URL for a mirrorlist. + * ``yum-metalink`` is a URL for a metalink. + + If ``check_ssl`` is true the https certificates must be valid. If they are self-signed you can either set + this to false, or add your Certificate Authority to the host system. + + If ``check_gpg`` is true the GPG key must either be installed on the host system, or ``gpgkey_urls`` + should point to it. + + You can edit an existing source (other than system sources), by doing a POST + of the new version of the source. It will overwrite the previous one. + + Example:: + + { + "id": "custom-source-1", + "name": "Custom Package Source #1", + "url": "https://url/path/to/repository/", + "type": "yum-baseurl", + "check_ssl": true, + "check_gpg": true, + "gpgkey_urls": [ + "https://url/path/to/gpg-key" + ] + } + + In v0 the ``name`` field was used for the id (a short name for the repo). In v1 ``name`` changed + to ``id`` and ``name`` is now used for the longer descriptive name of the repository. + """ + if request.headers['Content-Type'] == "text/x-toml": + source = toml.loads(request.data) + else: + source = request.get_json(cache=False) + + # Check for id in source, return error if not + if "id" not in source: + return jsonify(status=False, errors=[{"id": UNKNOWN_SOURCE, "msg": "'id' field is missing from API v1 request."}]), 400 + + system_sources = get_repo_sources("/etc/yum.repos.d/*.repo") + if source["id"] in system_sources: + return jsonify(status=False, errors=[{"id": SYSTEM_SOURCE, "msg": "%s is a system source, it cannot be changed." % source["id"]}]), 400 + + try: + # Remove it from the RepoDict (NOTE that this isn't explicitly supported by the DNF API) + with api.config["DNFLOCK"].lock: + repo_dir = api.config["COMPOSER_CFG"].get("composer", "repo_dir") + new_repo_source(api.config["DNFLOCK"].dbo, source["id"], source, repo_dir) + except Exception as e: + return jsonify(status=False, errors=[{"id": PROJECTS_ERROR, "msg": str(e)}]), 400 + + return jsonify(status=True)
    +
    + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/html/_modules/pylorax/api/workspace.html b/docs/html/_modules/pylorax/api/workspace.html index c0b41f5a..a9746804 100644 --- a/docs/html/_modules/pylorax/api/workspace.html +++ b/docs/html/_modules/pylorax/api/workspace.html @@ -8,7 +8,7 @@ - pylorax.api.workspace — Lorax 31.9 documentation + pylorax.api.workspace — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/base.html b/docs/html/_modules/pylorax/base.html index 7ef9769a..e7946cf7 100644 --- a/docs/html/_modules/pylorax/base.html +++ b/docs/html/_modules/pylorax/base.html @@ -8,7 +8,7 @@ - pylorax.base — Lorax 31.9 documentation + pylorax.base — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/buildstamp.html b/docs/html/_modules/pylorax/buildstamp.html index 1f250e51..352a78b7 100644 --- a/docs/html/_modules/pylorax/buildstamp.html +++ b/docs/html/_modules/pylorax/buildstamp.html @@ -8,7 +8,7 @@ - pylorax.buildstamp — Lorax 31.9 documentation + pylorax.buildstamp — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/cmdline.html b/docs/html/_modules/pylorax/cmdline.html index 7742fa0a..7e6418c1 100644 --- a/docs/html/_modules/pylorax/cmdline.html +++ b/docs/html/_modules/pylorax/cmdline.html @@ -8,7 +8,7 @@ - pylorax.cmdline — Lorax 31.9 documentation + pylorax.cmdline — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -463,8 +463,6 @@ parser.add_argument("--volid", default=None, help="volume id") parser.add_argument("--squashfs-only", action="store_true", default=False, help="Use a plain squashfs filesystem for the runtime.") - parser.add_argument("--squashfs_args", - help="additional squashfs args") parser.add_argument("--timeout", default=None, type=int, help="Cancel installer after X minutes") diff --git a/docs/html/_modules/pylorax/creator.html b/docs/html/_modules/pylorax/creator.html index 52e1426c..6bf0c53d 100644 --- a/docs/html/_modules/pylorax/creator.html +++ b/docs/html/_modules/pylorax/creator.html @@ -8,7 +8,7 @@ - pylorax.creator — Lorax 31.9 documentation + pylorax.creator — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    @@ -278,8 +278,13 @@ """ compression = opts.compression or "xz" arch = ArchData(opts.arch or os.uname().machine) - if compression == "xz" and arch.bcj: + if compression == "xz" and arch.bcj and not opts.compress_args: + # default to bcj when using xz compressargs = ["-Xbcj", arch.bcj] + elif opts.compress_args: + compressargs = [] + for arg in opts.compress_args: + compressargs += arg.split(" ", 1) else: compressargs = [] return (compression, compressargs) diff --git a/docs/html/_modules/pylorax/decorators.html b/docs/html/_modules/pylorax/decorators.html index f5f3faca..26a53df3 100644 --- a/docs/html/_modules/pylorax/decorators.html +++ b/docs/html/_modules/pylorax/decorators.html @@ -8,7 +8,7 @@ - pylorax.decorators — Lorax 31.9 documentation + pylorax.decorators — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/discinfo.html b/docs/html/_modules/pylorax/discinfo.html index be6b360f..b81f1e6c 100644 --- a/docs/html/_modules/pylorax/discinfo.html +++ b/docs/html/_modules/pylorax/discinfo.html @@ -8,7 +8,7 @@ - pylorax.discinfo — Lorax 31.9 documentation + pylorax.discinfo — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/dnfbase.html b/docs/html/_modules/pylorax/dnfbase.html index 140b56fe..91796818 100644 --- a/docs/html/_modules/pylorax/dnfbase.html +++ b/docs/html/_modules/pylorax/dnfbase.html @@ -8,7 +8,7 @@ - pylorax.dnfbase — Lorax 31.9 documentation + pylorax.dnfbase — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/dnfhelper.html b/docs/html/_modules/pylorax/dnfhelper.html index bc22d1b9..7334e2c1 100644 --- a/docs/html/_modules/pylorax/dnfhelper.html +++ b/docs/html/_modules/pylorax/dnfhelper.html @@ -8,7 +8,7 @@ - pylorax.dnfhelper — Lorax 31.9 documentation + pylorax.dnfhelper — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/executils.html b/docs/html/_modules/pylorax/executils.html index 967bdfab..40e08fda 100644 --- a/docs/html/_modules/pylorax/executils.html +++ b/docs/html/_modules/pylorax/executils.html @@ -8,7 +8,7 @@ - pylorax.executils — Lorax 31.9 documentation + pylorax.executils — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/imgutils.html b/docs/html/_modules/pylorax/imgutils.html index 9350f261..30486040 100644 --- a/docs/html/_modules/pylorax/imgutils.html +++ b/docs/html/_modules/pylorax/imgutils.html @@ -8,7 +8,7 @@ - pylorax.imgutils — Lorax 31.9 documentation + pylorax.imgutils — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/installer.html b/docs/html/_modules/pylorax/installer.html index 0fdb0aaa..ef0a6677 100644 --- a/docs/html/_modules/pylorax/installer.html +++ b/docs/html/_modules/pylorax/installer.html @@ -8,7 +8,7 @@ - pylorax.installer — Lorax 31.9 documentation + pylorax.installer — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/ltmpl.html b/docs/html/_modules/pylorax/ltmpl.html index 32712ccf..f16d7c5d 100644 --- a/docs/html/_modules/pylorax/ltmpl.html +++ b/docs/html/_modules/pylorax/ltmpl.html @@ -8,7 +8,7 @@ - pylorax.ltmpl — Lorax 31.9 documentation + pylorax.ltmpl — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/monitor.html b/docs/html/_modules/pylorax/monitor.html index c21b45ce..08216bb5 100644 --- a/docs/html/_modules/pylorax/monitor.html +++ b/docs/html/_modules/pylorax/monitor.html @@ -8,7 +8,7 @@ - pylorax.monitor — Lorax 31.9 documentation + pylorax.monitor — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/mount.html b/docs/html/_modules/pylorax/mount.html index c34e4d59..0db60b45 100644 --- a/docs/html/_modules/pylorax/mount.html +++ b/docs/html/_modules/pylorax/mount.html @@ -8,7 +8,7 @@ - pylorax.mount — Lorax 31.9 documentation + pylorax.mount — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/sysutils.html b/docs/html/_modules/pylorax/sysutils.html index 789a6bca..7a2d9666 100644 --- a/docs/html/_modules/pylorax/sysutils.html +++ b/docs/html/_modules/pylorax/sysutils.html @@ -8,7 +8,7 @@ - pylorax.sysutils — Lorax 31.9 documentation + pylorax.sysutils — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/treebuilder.html b/docs/html/_modules/pylorax/treebuilder.html index 81fc62c4..9b5c1cb3 100644 --- a/docs/html/_modules/pylorax/treebuilder.html +++ b/docs/html/_modules/pylorax/treebuilder.html @@ -8,7 +8,7 @@ - pylorax.treebuilder — Lorax 31.9 documentation + pylorax.treebuilder — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_modules/pylorax/treeinfo.html b/docs/html/_modules/pylorax/treeinfo.html index 08d15fca..3633cfb0 100644 --- a/docs/html/_modules/pylorax/treeinfo.html +++ b/docs/html/_modules/pylorax/treeinfo.html @@ -8,7 +8,7 @@ - pylorax.treeinfo — Lorax 31.9 documentation + pylorax.treeinfo — Lorax 31.10 documentation @@ -58,7 +58,7 @@
    - 31.9 + 31.10
    diff --git a/docs/html/_sources/lorax-composer.rst.txt b/docs/html/_sources/lorax-composer.rst.txt index e76e5668..e1dd9d18 100644 --- a/docs/html/_sources/lorax-composer.rst.txt +++ b/docs/html/_sources/lorax-composer.rst.txt @@ -156,14 +156,26 @@ The names must match the names exactly, and the versions can be an exact match or a filesystem-like glob of the version using ``*`` wildcards and ``?`` character matching. -NOTE: As of lorax-composer-29.2-1 the versions are not used for depsolving, -that is planned for a future release. And currently there are no differences -between ``packages`` and ``modules`` in ``lorax-composer``. +NOTE: Currently there are no differences between ``packages`` and ``modules`` +in ``lorax-composer``. Both are treated like an rpm package dependency. + +For example, to install ``tmux-2.9a`` and ``openssh-server-8.*``, you would add +this to your blueprint:: + + [[packages]] + name = "tmux" + version = "2.9a" + + [[packages]] + name = "openssh-server" + version = "8.*" + + [[groups]] ~~~~~~~~~~ -These entries describe a group of packages to be installed into the image. Package groups are +The ``groups`` entries describe a group of packages to be installed into the image. Package groups are defined in the repository metadata. Each group has a descriptive name used primarily for display in user interfaces and an ID more commonly used in kickstart files. Here, the ID is the expected way of listing a group. @@ -172,6 +184,16 @@ Groups have three different ways of categorizing their packages: mandatory, def For purposes of blueprints, mandatory and default packages will be installed. There is no mechanism for selecting optional packages. +For example, if you want to install the ``anaconda-tools`` group you would add this to your +blueprint:: + + [[groups]] + name="anaconda-tools" + +``groups`` is a TOML list, so each group needs to be listed separately, like ``packages`` but with +no version number. + + Customizations ~~~~~~~~~~~~~~ diff --git a/docs/html/_sources/pylorax.api.rst.txt b/docs/html/_sources/pylorax.api.rst.txt index 673489c2..25a05cee 100644 --- a/docs/html/_sources/pylorax.api.rst.txt +++ b/docs/html/_sources/pylorax.api.rst.txt @@ -132,6 +132,14 @@ pylorax.api.toml module :undoc-members: :show-inheritance: +pylorax.api.utils module +------------------------ + +.. automodule:: pylorax.api.utils + :members: + :undoc-members: + :show-inheritance: + pylorax.api.v0 module --------------------- @@ -140,6 +148,14 @@ pylorax.api.v0 module :undoc-members: :show-inheritance: +pylorax.api.v1 module +--------------------- + +.. automodule:: pylorax.api.v1 + :members: + :undoc-members: + :show-inheritance: + pylorax.api.workspace module ---------------------------- diff --git a/docs/html/_static/documentation_options.js b/docs/html/_static/documentation_options.js index 4aabf8d2..613b055f 100644 --- a/docs/html/_static/documentation_options.js +++ b/docs/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '31.9', + VERSION: '31.10', LANGUAGE: 'None', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', diff --git a/docs/html/composer-cli.html b/docs/html/composer-cli.html index 1e02321c..4bbfd99e 100644 --- a/docs/html/composer-cli.html +++ b/docs/html/composer-cli.html @@ -8,7 +8,7 @@ - composer-cli — Lorax 31.9 documentation + composer-cli — Lorax 31.10 documentation @@ -60,7 +60,7 @@
    - 31.9 + 31.10
    @@ -183,9 +183,7 @@ group. They do not need to be root, but all of the composer-cli cmdline arguments¶

    Lorax Composer commandline tool

    -
    usage: composer-cli [-h] [-j] [-s SOCKET] [--log LOG] [-a APIVER]
    -                    [--test TESTMODE] [-V]
    -                    ...
    +
    usage: composer-cli [-h] [-j] [-s SOCKET] [--log LOG] [-a APIVER] [--test TESTMODE] [-V] ...
     
    diff --git a/docs/html/composer.cli.html b/docs/html/composer.cli.html index 23f2c048..4b27ef9d 100644 --- a/docs/html/composer.cli.html +++ b/docs/html/composer.cli.html @@ -8,7 +8,7 @@ - composer.cli package — Lorax 31.9 documentation + composer.cli package — Lorax 31.10 documentation @@ -60,7 +60,7 @@
    - 31.9 + 31.10
    @@ -189,10 +189,10 @@
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -205,13 +205,13 @@

    Process blueprints commands

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    Returns

    Value to return from sys.exit()

    Return type
    -

    int

    +

    int

    This dispatches the blueprints commands to a function

    @@ -224,10 +224,10 @@
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -241,10 +241,10 @@
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -258,10 +258,10 @@
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -279,10 +279,10 @@
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -298,10 +298,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -315,10 +315,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -332,10 +332,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -349,10 +349,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -366,10 +366,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -383,10 +383,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -401,10 +401,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -418,10 +418,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -435,10 +435,10 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -451,13 +451,13 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file

    Return comma-separated list of the dict's name/user fields

    Parameters
    -

    d (dict) -- key/values

    +

    d (dict) -- key/values

    Returns

    String of the dict's keys and values

    Return type
    -

    str

    +

    str

    root, norm

    @@ -470,8 +470,8 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • change (dict) -- The individual blueprint change dict

    • -
    • indent (int) -- Number of spaces to indent

    • +
    • change (dict) -- The individual blueprint change dict

    • +
    • indent (int) -- Number of spaces to indent

    @@ -483,13 +483,13 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file

    Return the dict as a human readable single line

    Parameters
    -

    d (dict) -- key/values

    +

    d (dict) -- key/values

    Returns

    String of the dict's keys and values

    Return type
    -

    str

    +

    str

    key="str", key="str1,str2", ...

    @@ -501,7 +501,7 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file

    Generate nice diff entry string.

    Parameters
    -

    diff (dict) -- Difference entry dict

    +

    diff (dict) -- Difference entry dict

    Returns

    Nice string

    @@ -528,11 +528,11 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -546,13 +546,13 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file

    Process compose commands

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    Returns

    Value to return from sys.exit()

    Return type
    -

    int

    +

    int

    This dispatches the compose commands to a function

    @@ -565,11 +565,11 @@ blueprints freeze save <blueprint,...> Save the frozen blueprint to a file
    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -585,11 +585,11 @@ or failed, not a running compose.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -605,11 +605,11 @@ of compose that was selected.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -630,11 +630,11 @@ of compose that was selected.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -650,11 +650,11 @@ during the build.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -669,11 +669,11 @@ during the build.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -688,11 +688,11 @@ during the build.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -708,11 +708,11 @@ It is saved as uuid.tar

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- Set to 1 to simulate a failed compose, set to 2 to simulate a finished one.

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- Set to 1 to simulate a failed compose, set to 2 to simulate a finished one.

    @@ -726,11 +726,11 @@ It is saved as uuid.tar

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -745,11 +745,11 @@ and failed so raw JSON output is not available.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • -
    • testmode (int) -- unused in this function

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • testmode (int) -- unused in this function

    @@ -769,13 +769,13 @@ include this extra information.

    Process modules commands

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    Returns

    Value to return from sys.exit()

    Return type
    -

    int

    +

    int

    @@ -789,13 +789,13 @@ include this extra information.

    Process projects commands

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    Returns

    Value to return from sys.exit()

    Return type
    -

    int

    +

    int

    @@ -807,10 +807,10 @@ include this extra information.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -824,10 +824,10 @@ include this extra information.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -844,10 +844,10 @@ include this extra information.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -860,13 +860,13 @@ include this extra information.

    Process sources commands

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    Returns

    Value to return from sys.exit()

    Return type
    -

    int

    +

    int

    @@ -878,10 +878,10 @@ include this extra information.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -895,10 +895,10 @@ include this extra information.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -912,10 +912,10 @@ include this extra information.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • api_version (str) -- Version of the API to talk to. eg. "0"

    • args (list of str) -- List of remaining arguments from the cmdline

    • -
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    • +
    • show_json (bool) -- Set to True to show the JSON output instead of the human readable output

    @@ -931,13 +931,13 @@ include this extra information.

    Process status commands

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    Returns

    Value to return from sys.exit()

    Return type
    -

    int

    +

    int

    @@ -970,13 +970,13 @@ include this extra information.

    Convert a blueprint name into a filename.toml

    Parameters
    -

    blueprint_name (str) -- The blueprint's name

    +

    blueprint_name (str) -- The blueprint's name

    Returns

    The blueprint name with ' ' converted to - and .toml appended

    Return type
    -

    str

    +

    str

    @@ -987,10 +987,10 @@ include this extra information.

    Log any errors, return the correct value

    Parameters
    -

    result (dict) -- JSON result from the http query

    +

    result (dict) -- JSON result from the http query

    Return type
    -

    tuple

    +

    tuple

    Returns

    (rc, should_exit_now)

    @@ -1006,13 +1006,13 @@ not to continue processing the results.

    Return the package info as a NEVRA

    Parameters
    -

    pkg (dict) -- The package details

    +

    pkg (dict) -- The package details

    Returns

    name-[epoch:]version-release-arch

    Return type
    -

    str

    +

    str

    @@ -1023,13 +1023,13 @@ not to continue processing the results.

    Convert a blueprint name into a filename.toml

    Parameters
    -

    blueprint_name (str) -- The blueprint's name

    +

    blueprint_name (str) -- The blueprint's name

    Returns

    The blueprint name with ' ' converted to - and .toml appended

    Return type
    -

    str

    +

    str

    @@ -1043,7 +1043,7 @@ not to continue processing the results.

    Main program execution

    Parameters
    -

    opts (argparse.Namespace) -- Cmdline arguments

    +

    opts (argparse.Namespace) -- Cmdline arguments

    diff --git a/docs/html/composer.html b/docs/html/composer.html index 7c00c6a3..9f29364d 100644 --- a/docs/html/composer.html +++ b/docs/html/composer.html @@ -8,7 +8,7 @@ - composer package — Lorax 31.9 documentation + composer package — Lorax 31.10 documentation @@ -60,7 +60,7 @@
    - 31.9 + 31.10
    @@ -208,15 +208,15 @@
    Parameters
      -
    • api_version (str) -- The version of the API to talk to. eg. "0"

    • -
    • url (str) -- The API route to talk to

    • +
    • api_version (str) -- The version of the API to talk to. eg. "0"

    • +
    • url (str) -- The API route to talk to

    Returns

    The full url to use for the route and API version

    Return type
    -

    str

    +

    str

    @@ -231,15 +231,15 @@ query string.

    Parameters
      -
    • url (str) -- The original URL

    • -
    • query (str) -- The query to append

    • +
    • url (str) -- The original URL

    • +
    • query (str) -- The query to append

    Returns

    The new URL with the query argument included

    Return type
    -

    str

    +

    str

    @@ -251,15 +251,15 @@ query string.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to send DELETE to

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to send DELETE to

    Returns

    The json response from the server

    Return type
    -

    dict

    +

    dict

    @@ -271,8 +271,8 @@ query string.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to send POST to

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to send POST to

    @@ -293,7 +293,7 @@ query string.

    Filename from content-disposition header

    Return type
    -

    str

    +

    str

    @@ -305,15 +305,15 @@ query string.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to request

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to request

    Returns

    The json response from the server

    Return type
    -

    dict

    +

    dict

    @@ -327,15 +327,15 @@ fetch all results for the given request.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to request

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to request

    Returns

    The json response from the server

    Return type
    -

    dict

    +

    dict

    @@ -347,15 +347,15 @@ fetch all results for the given request.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to request

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to request

    Returns

    The raw response from the server

    Return type
    -

    str

    +

    str

    @@ -367,16 +367,16 @@ fetch all results for the given request.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to send POST to

    • -
    • body (str) -- The data for the body of the POST

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to send POST to

    • +
    • body (str) -- The data for the body of the POST

    Returns

    The json response from the server

    Return type
    -

    dict

    +

    dict

    @@ -388,16 +388,16 @@ fetch all results for the given request.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to send POST to

    • -
    • body (str) -- The data for the body of the POST

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to send POST to

    • +
    • body (str) -- The data for the body of the POST

    Returns

    The json response from the server

    Return type
    -

    dict

    +

    dict

    @@ -409,16 +409,16 @@ fetch all results for the given request.

    Parameters
      -
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • -
    • url (str) -- URL to send POST to

    • -
    • body (str) -- The data for the body of the POST

    • +
    • socket_path (str) -- Path to the Unix socket to use for API communication

    • +
    • url (str) -- URL to send POST to

    • +
    • body (str) -- The data for the body of the POST

    Returns

    The json response from the server

    Return type
    -

    dict

    +

    dict

    @@ -429,7 +429,7 @@ fetch all results for the given request.

    class composer.unix_socket.UnixHTTPConnection(socket_path, timeout=60)[source]¶
    -

    Bases: http.client.HTTPConnection, object

    +

    Bases: http.client.HTTPConnection, object

    connect()[source]¶
    diff --git a/docs/html/genindex.html b/docs/html/genindex.html index 78147de5..c509631f 100644 --- a/docs/html/genindex.html +++ b/docs/html/genindex.html @@ -9,7 +9,7 @@ - Index — Lorax 31.9 documentation + Index — Lorax 31.10 documentation @@ -59,7 +59,7 @@
    - 31.9 + 31.10
    @@ -226,7 +226,7 @@
  • bcj_arch (pylorax.ArchData attribute)
  • -
  • blueprint_exists() (in module pylorax.api.v0) +
  • blueprint_exists() (in module pylorax.api.utils)
  • blueprints_changes() (in module composer.cli.blueprints)
  • @@ -450,7 +450,7 @@
      -
    • dir() (pylorax.api.server.GitLock property) +
    • dir (pylorax.api.server.GitLock attribute)
    • DiscInfo (class in pylorax.discinfo)
    • @@ -722,12 +722,10 @@
    • loads() (in module pylorax.api.toml)
    • -
    • lock() (pylorax.api.dnfbase.DNFLock property) - -
    • lock_check() (pylorax.api.dnfbase.DNFLock property)
    • log() (pylorax.ltmpl.LoraxTemplateRunner method) @@ -854,6 +852,8 @@

      N

      @@ -952,10 +952,10 @@
    • pylorax.api (module)
    • - - + - + + + + + + +
      -
    • repo() (pylorax.api.server.GitLock property) +
    • repo (pylorax.api.server.GitLock attribute)
    • repo_file_exists() (in module pylorax.api.recipes)
    • @@ -1165,6 +1169,8 @@
    • singleton() (in module pylorax.decorators)
    • source_to_repo() (in module pylorax.api.projects) +
    • +
    • source_to_repodict() (in module pylorax.api.projects)
    • sources_add() (in module composer.cli.sources)
    • @@ -1208,7 +1214,7 @@
    • tag_recipe_commit() (in module pylorax.api.recipes)
    • -
    • take_limits() (in module pylorax.api.v0) +
    • take_limits() (in module pylorax.api.utils)
    • templatedir() (pylorax.Lorax property)
    • @@ -1316,10 +1322,10 @@
    • v0_compose_info() (in module pylorax.api.v0)
    • -
      • v0_compose_logs() (in module pylorax.api.v0)
      • v0_compose_metadata() (in module pylorax.api.v0) @@ -1351,6 +1357,10 @@
      • v0_projects_source_list() (in module pylorax.api.v0)
      • v0_projects_source_new() (in module pylorax.api.v0) +
      • +
      • v1_projects_source_info() (in module pylorax.api.v1) +
      • +
      • v1_projects_source_new() (in module pylorax.api.v1)
      • verify() (pylorax.treebuilder.RuntimeBuilder method)
      • diff --git a/docs/html/index.html b/docs/html/index.html index 319bdd45..fd07ddcc 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -8,7 +8,7 @@ - Welcome to Lorax's documentation! — Lorax 31.9 documentation + Welcome to Lorax's documentation! — Lorax 31.10 documentation @@ -59,7 +59,7 @@
        - 31.9 + 31.10
        diff --git a/docs/html/intro.html b/docs/html/intro.html index 7615985a..672225d2 100644 --- a/docs/html/intro.html +++ b/docs/html/intro.html @@ -8,7 +8,7 @@ - Introduction to Lorax — Lorax 31.9 documentation + Introduction to Lorax — Lorax 31.10 documentation @@ -60,7 +60,7 @@
        - 31.9 + 31.10
        diff --git a/docs/html/livemedia-creator.html b/docs/html/livemedia-creator.html index 0caf7434..ab5ce81f 100644 --- a/docs/html/livemedia-creator.html +++ b/docs/html/livemedia-creator.html @@ -8,7 +8,7 @@ - livemedia-creator — Lorax 31.9 documentation + livemedia-creator — Lorax 31.10 documentation @@ -60,7 +60,7 @@
        - 31.9 + 31.10
        @@ -225,37 +225,13 @@ you have the anaconda-tui package installed.

        livemedia-creator cmdline arguments¶

        Create Live Install Media

        -
        usage: livemedia-creator [-h]
        -                         (--make-iso | --make-disk | --make-fsimage | --make-appliance | --make-ami | --make-tar | --make-tar-disk | --make-pxe-live | --make-ostree-live | --make-oci | --make-vagrant)
        -                         [--iso ISO] [--iso-only] [--iso-name ISO_NAME]
        -                         [--ks KS] [--image-only] [--no-virt] [--proxy PROXY]
        -                         [--anaconda-arg ANACONDA_ARGS]
        -                         [--armplatform ARMPLATFORM] [--location LOCATION]
        -                         [--logfile LOGFILE]
        -                         [--lorax-templates LORAX_TEMPLATES] [--tmp TMP]
        -                         [--resultdir RESULT_DIR] [--macboot] [--nomacboot]
        -                         [--extra-boot-args EXTRA_BOOT_ARGS]
        -                         [--disk-image DISK_IMAGE] [--keep-image]
        -                         [--fs-image FS_IMAGE] [--image-name IMAGE_NAME]
        -                         [--tar-disk-name TAR_DISK_NAME] [--fs-label FS_LABEL]
        -                         [--image-size-align IMAGE_SIZE_ALIGN]
        -                         [--image-type IMAGE_TYPE] [--qemu-arg QEMU_ARGS]
        -                         [--qcow2] [--qcow2-arg QEMU_ARGS]
        -                         [--compression COMPRESSION]
        -                         [--compress-arg COMPRESS_ARGS] [--app-name APP_NAME]
        -                         [--app-template APP_TEMPLATE] [--app-file APP_FILE]
        -                         [--ram MEMORY] [--vcpus VCPUS] [--vnc VNC]
        -                         [--arch ARCH] [--kernel-args KERNEL_ARGS]
        -                         [--ovmf-path OVMF_PATH] [--virt-uefi] [--no-kvm]
        -                         [--with-rng WITH_RNG] [--dracut-arg DRACUT_ARGS]
        -                         [--live-rootfs-size LIVE_ROOTFS_SIZE]
        -                         [--live-rootfs-keep-size] [--oci-config OCI_CONFIG]
        -                         [--oci-runtime OCI_RUNTIME]
        -                         [--vagrant-metadata VAGRANT_METADATA]
        -                         [--vagrantfile VAGRANTFILE] [--title TITLE]
        -                         [--project PROJECT] [--releasever RELEASEVER]
        -                         [--volid VOLID] [--squashfs-only]
        -                         [--squashfs_args SQUASHFS_ARGS] [--timeout TIMEOUT]
        +
        usage: livemedia-creator [-h] (--make-iso | --make-disk | --make-fsimage | --make-appliance | --make-ami | --make-tar | --make-tar-disk | --make-pxe-live | --make-ostree-live | --make-oci | --make-vagrant) [--iso ISO] [--iso-only]
        +                         [--iso-name ISO_NAME] [--ks KS] [--image-only] [--no-virt] [--proxy PROXY] [--anaconda-arg ANACONDA_ARGS] [--armplatform ARMPLATFORM] [--location LOCATION] [--logfile LOGFILE] [--lorax-templates LORAX_TEMPLATES]
        +                         [--tmp TMP] [--resultdir RESULT_DIR] [--macboot] [--nomacboot] [--extra-boot-args EXTRA_BOOT_ARGS] [--disk-image DISK_IMAGE] [--keep-image] [--fs-image FS_IMAGE] [--image-name IMAGE_NAME]
        +                         [--tar-disk-name TAR_DISK_NAME] [--fs-label FS_LABEL] [--image-size-align IMAGE_SIZE_ALIGN] [--image-type IMAGE_TYPE] [--qemu-arg QEMU_ARGS] [--qcow2] [--qcow2-arg QEMU_ARGS] [--compression COMPRESSION]
        +                         [--compress-arg COMPRESS_ARGS] [--app-name APP_NAME] [--app-template APP_TEMPLATE] [--app-file APP_FILE] [--ram MEMORY] [--vcpus VCPUS] [--vnc VNC] [--arch ARCH] [--kernel-args KERNEL_ARGS]
        +                         [--ovmf-path OVMF_PATH] [--virt-uefi] [--no-kvm] [--with-rng WITH_RNG] [--dracut-arg DRACUT_ARGS] [--live-rootfs-size LIVE_ROOTFS_SIZE] [--live-rootfs-keep-size] [--oci-config OCI_CONFIG]
        +                         [--oci-runtime OCI_RUNTIME] [--vagrant-metadata VAGRANT_METADATA] [--vagrantfile VAGRANTFILE] [--title TITLE] [--project PROJECT] [--releasever RELEASEVER] [--volid VOLID] [--squashfs-only] [--timeout TIMEOUT]
                                  [-V]
         
        @@ -382,9 +358,6 @@ you have the anaconda-tui package installed.

        Use a plain squashfs filesystem for the runtime.

        Default: False

        -
        --squashfs_args
        -

        additional squashfs args

        -
        --timeout

        Cancel installer after X minutes

        diff --git a/docs/html/lorax-composer.html b/docs/html/lorax-composer.html index b6efac27..e84b6c1a 100644 --- a/docs/html/lorax-composer.html +++ b/docs/html/lorax-composer.html @@ -8,7 +8,7 @@ - lorax-composer — Lorax 31.9 documentation + lorax-composer — Lorax 31.10 documentation @@ -60,7 +60,7 @@
        - 31.9 + 31.10
        @@ -279,12 +279,7 @@ images using lorax-

        lorax-composer cmdline arguments¶

        Lorax Composer API Server

        -
        usage: lorax-composer [-h] [--socket SOCKET] [--user USER] [--group GROUP]
        -                      [--log LOG] [--mockfiles MOCKFILES]
        -                      [--sharedir SHAREDIR] [-V] [-c CONFIG]
        -                      [--releasever STRING] [--tmp TMP] [--proxy PROXY]
        -                      [--no-system-repos]
        -                      BLUEPRINTS
        +
        usage: lorax-composer [-h] [--socket SOCKET] [--user USER] [--group GROUP] [--log LOG] [--mockfiles MOCKFILES] [--sharedir SHAREDIR] [-V] [-c CONFIG] [--releasever STRING] [--tmp TMP] [--proxy PROXY] [--no-system-repos] BLUEPRINTS
         
        @@ -397,19 +392,37 @@ result in the new blueprint being stored as wildcards and ? character matching.

        -

        NOTE: As of lorax-composer-29.2-1 the versions are not used for depsolving, -that is planned for a future release. And currently there are no differences -between packages and modules in lorax-composer.

        +

        NOTE: Currently there are no differences between packages and modules +in lorax-composer. Both are treated like an rpm package dependency.

        +

        For example, to install tmux-2.9a and openssh-server-8.*, you would add +this to your blueprint:

        +
        [[packages]]
        +name = "tmux"
        +version = "2.9a"
        +
        +[[packages]]
        +name = "openssh-server"
        +version = "8.*"
        +
        +

        [[groups]]¶

        -

        These entries describe a group of packages to be installed into the image. Package groups are +

        The groups entries describe a group of packages to be installed into the image. Package groups are defined in the repository metadata. Each group has a descriptive name used primarily for display in user interfaces and an ID more commonly used in kickstart files. Here, the ID is the expected way of listing a group.

        Groups have three different ways of categorizing their packages: mandatory, default, and optional. For purposes of blueprints, mandatory and default packages will be installed. There is no mechanism for selecting optional packages.

        +

        For example, if you want to install the anaconda-tools group you would add this to your +blueprint:

        +
        [[groups]]
        +name="anaconda-tools"
        +
        +
        +

        groups is a TOML list, so each group needs to be listed separately, like packages but with +no version number.

        Customizations¶

        diff --git a/docs/html/lorax.html b/docs/html/lorax.html index 5d88cb43..dd7a23be 100644 --- a/docs/html/lorax.html +++ b/docs/html/lorax.html @@ -8,7 +8,7 @@ - Lorax — Lorax 31.9 documentation + Lorax — Lorax 31.10 documentation @@ -60,7 +60,7 @@
        - 31.9 + 31.10
        @@ -198,20 +198,10 @@ repositories.

        lorax cmdline arguments¶

        Create the Anaconda boot.iso

        -
        usage: lorax [-h] -p PRODUCT -v VERSION -r RELEASE [-s REPOSITORY]
        -             [--repo REPOSITORY] [-m REPOSITORY] [-t VARIANT] [-b URL]
        -             [--isfinal] [-c CONFIGFILE] [--proxy HOST] [-i PACKAGE]
        -             [-e PACKAGE] [--buildarch ARCH] [--volid VOLID] [--macboot]
        -             [--nomacboot] [--noupgrade] [--logfile LOGFILE] [--tmp TMP]
        -             [--cachedir CACHEDIR] [--workdir WORKDIR] [--force]
        -             [--add-template ADD_TEMPLATES]
        -             [--add-template-var ADD_TEMPLATE_VARS]
        -             [--add-arch-template ADD_ARCH_TEMPLATES]
        -             [--add-arch-template-var ADD_ARCH_TEMPLATE_VARS] [--noverify]
        -             [--sharedir SHAREDIR] [--enablerepo [repo]]
        -             [--disablerepo [repo]] [--rootfs-size ROOTFS_SIZE]
        -             [--noverifyssl] [--dnfplugin DNFPLUGINS] [--squashfs-only]
        -             [--dracut-arg DRACUT_ARGS] [-V]
        +
        usage: lorax [-h] -p PRODUCT -v VERSION -r RELEASE [-s REPOSITORY] [--repo REPOSITORY] [-m REPOSITORY] [-t VARIANT] [-b URL] [--isfinal] [-c CONFIGFILE] [--proxy HOST] [-i PACKAGE] [-e PACKAGE] [--buildarch ARCH] [--volid VOLID]
        +             [--macboot] [--nomacboot] [--noupgrade] [--logfile LOGFILE] [--tmp TMP] [--cachedir CACHEDIR] [--workdir WORKDIR] [--force] [--add-template ADD_TEMPLATES] [--add-template-var ADD_TEMPLATE_VARS]
        +             [--add-arch-template ADD_ARCH_TEMPLATES] [--add-arch-template-var ADD_ARCH_TEMPLATE_VARS] [--noverify] [--sharedir SHAREDIR] [--enablerepo [repo]] [--disablerepo [repo]] [--rootfs-size ROOTFS_SIZE] [--noverifyssl]
        +             [--dnfplugin DNFPLUGINS] [--squashfs-only] [--dracut-arg DRACUT_ARGS] [-V]
                      OUTPUTDIR
         
        diff --git a/docs/html/modules.html b/docs/html/modules.html index e3ffb595..9bdda2d2 100644 --- a/docs/html/modules.html +++ b/docs/html/modules.html @@ -8,7 +8,7 @@ - src — Lorax 31.9 documentation + src — Lorax 31.10 documentation @@ -60,7 +60,7 @@
        - 31.9 + 31.10
        @@ -209,7 +209,9 @@
      • pylorax.api.server module
      • pylorax.api.timestamp module
      • pylorax.api.toml module
      • +
      • pylorax.api.utils module
      • pylorax.api.v0 module
      • +
      • pylorax.api.v1 module
      • pylorax.api.workspace module
      • Module contents
      diff --git a/docs/html/objects.inv b/docs/html/objects.inv index bd29dd3e..4f5e60d0 100644 Binary files a/docs/html/objects.inv and b/docs/html/objects.inv differ diff --git a/docs/html/product-images.html b/docs/html/product-images.html index d17ff173..678f7d04 100644 --- a/docs/html/product-images.html +++ b/docs/html/product-images.html @@ -8,7 +8,7 @@ - Product and Updates Images — Lorax 31.9 documentation + Product and Updates Images — Lorax 31.10 documentation @@ -60,7 +60,7 @@
      - 31.9 + 31.10
      diff --git a/docs/html/py-modindex.html b/docs/html/py-modindex.html index f86db0b4..eff653d4 100644 --- a/docs/html/py-modindex.html +++ b/docs/html/py-modindex.html @@ -8,7 +8,7 @@ - Python Module Index — Lorax 31.9 documentation + Python Module Index — Lorax 31.10 documentation @@ -61,7 +61,7 @@
      - 31.9 + 31.10
      @@ -326,11 +326,21 @@
          pylorax.api.toml
          + pylorax.api.utils +
          pylorax.api.v0
          + pylorax.api.v1 +
          diff --git a/docs/html/pylorax.api.html b/docs/html/pylorax.api.html index e82a0c2b..a85d860f 100644 --- a/docs/html/pylorax.api.html +++ b/docs/html/pylorax.api.html @@ -8,7 +8,7 @@ - pylorax.api package — Lorax 31.9 documentation + pylorax.api package — Lorax 31.10 documentation @@ -59,7 +59,7 @@
      - 31.9 + 31.10
      @@ -204,8 +204,8 @@
      Parameters
        -
      • a (list) -- sorted list

      • -
      • x (object) -- item to insert into the list

      • +
      • a (list) -- sorted list

      • +
      • x (object) -- item to insert into the list

      • key (function) -- Function to use to compare items in the list

      @@ -213,7 +213,7 @@

      index where the item was inserted

      Return type
      -

      int

      +

      int

      If x is already in a, insert it to the left of the leftmost x. @@ -282,8 +282,8 @@ parameters needed to generate the desired output. Other types should be set to F

      Parameters
        -
      • line (str) -- The bootloader ... line

      • -
      • kernel_append (str) -- The arguments to append to the --append section

      • +
      • line (str) -- The bootloader ... line

      • +
      • kernel_append (str) -- The arguments to append to the --append section

      @@ -297,7 +297,7 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      Returns the settings to pass to novirt_install for the compose type

      Parameters
      -

      compose_type (str) -- The type of compose to create, from compose_types()

      +

      compose_type (str) -- The type of compose to create, from compose_types()

      This will return a dict of options that match the ArgumentParser options for livemedia-creator. @@ -319,7 +319,7 @@ Other options will be filled in by make_compose()

      Parameters
        -
      • ks_template (str) -- The kickstart template

      • +
      • ks_template (str) -- The kickstart template

      • recipe (Recipe object) --

      @@ -338,8 +338,8 @@ Add bootloader line if it is missing.

      Parameters
        -
      • line (str) -- The firewall ... line

      • -
      • settings (dict) -- A dict with the list of services and ports to enable and disable

      • +
      • line (str) -- The firewall ... line

      • +
      • settings (dict) -- A dict with the list of services and ports to enable and disable

      @@ -357,7 +357,7 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      string with "services" or ""

      Return type
      -

      str

      +

      str

      When no services have been selected we don't need to add anything to the kickstart @@ -373,15 +373,15 @@ the settings.

      Parameters
      • dbo (dnf.Base) -- dnf base object

      • -
      • share_dir (str) -- Path to the top level share directory

      • -
      • compose_type (str) -- The type of output to create from the recipe

      • +
      • share_dir (str) -- Path to the top level share directory

      • +
      • compose_type (str) -- The type of output to create from the recipe

      Returns

      List of package names (name only, not NEVRA)

      Return type
      -

      list

      +

      list

      Currently this is only needed by live-iso, it reads ./live/live-install.tmpl and @@ -403,7 +403,7 @@ even though the results are applied differently.

      A dict of settings

      Return type
      -

      dict

      +

      dict

      @@ -420,7 +420,7 @@ even though the results are applied differently.

      append value or empty string

      Return type
      -

      str

      +

      str

      @@ -437,7 +437,7 @@ even though the results are applied differently.

      The keyboard layout string

      Return type
      -

      str

      +

      str

      @@ -454,7 +454,7 @@ even though the results are applied differently.

      list of language strings

      Return type
      -

      list

      +

      list

      @@ -471,7 +471,7 @@ even though the results are applied differently.

      A dict of settings

      Return type
      -

      dict

      +

      dict

      @@ -488,7 +488,7 @@ even though the results are applied differently.

      append value or empty string

      Return type
      -

      dict

      +

      dict

      @@ -500,8 +500,8 @@ even though the results are applied differently.

      Parameters
        -
      • line (str) -- The keyboard ... line

      • -
      • settings (str) -- The keyboard layout

      • +
      • line (str) -- The keyboard ... line

      • +
      • settings (str) -- The keyboard layout

      @@ -516,8 +516,8 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      Parameters
        -
      • line (str) -- The lang ... line

      • -
      • settings (list) -- The list of languages

      • +
      • line (str) -- The lang ... line

      • +
      • settings (list) -- The list of languages

      @@ -533,7 +533,7 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      Parameters
      • cfg (DataHolder) -- Build configuration

      • -
      • results_dir (str) -- Directory to put the results into

      • +
      • results_dir (str) -- Directory to put the results into

      @@ -559,8 +559,8 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      Parameters
        -
      • line (str) -- The services ... line

      • -
      • settings (dict) -- A dict with the list of services to enable and disable

      • +
      • line (str) -- The services ... line

      • +
      • settings (dict) -- A dict with the list of services to enable and disable

      @@ -577,15 +577,15 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      • cfg (ComposerConfig) -- Configuration object

      • dnflock (YumLock) -- Lock and YumBase for depsolving

      • -
      • recipe (str) -- The recipe to build

      • -
      • compose_type (str) -- The type of output to create from the recipe

      • +
      • recipe (str) -- The recipe to build

      • +
      • compose_type (str) -- The type of output to create from the recipe

      Returns

      Unique ID for the build that can be used to track its status

      Return type
      -

      str

      +

      str

      @@ -615,8 +615,8 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      Parameters
        -
      • line (str) -- The timezone ... line

      • -
      • settings (dict) -- A dict with timezone and/or ntpservers list

      • +
      • line (str) -- The timezone ... line

      • +
      • settings (dict) -- A dict with timezone and/or ntpservers list

      @@ -647,14 +647,14 @@ is parsed correctly, and re-assembled for inclusion into the final kickstart

      Parameters
      • f (open file object) -- kickstart file object

      • -
      • user (dict) -- A blueprint user dictionary

      • +
      • user (dict) -- A blueprint user dictionary

      Returns

      True if it wrote a rootpw command to the kickstart

      Return type
      -

      bool

      +

      bool

      If the entry contains a ssh key, use sshkey to write it @@ -671,7 +671,7 @@ for root.

      Parameters
      • f (open file object) -- kickstart file object

      • -
      • user (dict) -- A blueprint user dictionary

      • +
      • user (dict) -- A blueprint user dictionary

      @@ -686,8 +686,8 @@ with whatever options are relevant.

      pylorax.api.config module¶

      -class pylorax.api.config.ComposerConfig(defaults=None, dict_type=<class 'collections.OrderedDict'>, allow_no_value=False, *, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section='DEFAULT', interpolation=<object object>, converters=<object object>)[source]¶
      -

      Bases: configparser.ConfigParser

      +class pylorax.api.config.ComposerConfig(defaults=None, dict_type=<class 'dict'>, allow_no_value=False, *, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section='DEFAULT', interpolation=<object object>, converters=<object object>)[source]¶ +

      Bases: configparser.ConfigParser

      get_default(section, option, default)[source]¶
      @@ -702,9 +702,9 @@ with whatever options are relevant.

      Parameters
        -
      • conf_file (str) -- Path to the config file overriding the default settings

      • -
      • root_dir (str) -- Directory to prepend to paths, defaults to /

      • -
      • test_config (bool) -- Set to True to skip reading conf_file

      • +
      • conf_file (str) -- Path to the config file overriding the default settings

      • +
      • root_dir (str) -- Directory to prepend to paths, defaults to /

      • +
      • test_config (bool) -- Set to True to skip reading conf_file

      @@ -718,8 +718,8 @@ with whatever options are relevant.

      Parameters
      • conf (ComposerConfig) -- The configuration to use

      • -
      • uid (int) -- uid of owner

      • -
      • gid (int) -- gid of owner

      • +
      • uid (int) -- uid of owner

      • +
      • gid (int) -- gid of owner

      Returns
      @@ -739,8 +739,8 @@ with whatever options are relevant.

      Parameters
      • p_dir (string) -- path to directory to create

      • -
      • uid (int) -- uid of owner

      • -
      • gid (int) -- gid of owner

      • +
      • uid (int) -- uid of owner

      • +
      • gid (int) -- gid of owner

      Returns
      @@ -761,7 +761,7 @@ with whatever options are relevant.

      Parameters
      • conf (ComposerConfig) -- The configuration to use

      • -
      • gid (int) -- Group ID that has access to the queue directories

      • +
      • gid (int) -- Group ID that has access to the queue directories

      Returns
      @@ -779,7 +779,7 @@ with whatever options are relevant.

      class pylorax.api.dnfbase.DNFLock(conf, expire_secs=21600)[source]¶
      -

      Bases: object

      +

      Bases: object

      Hold the dnf.Base object and a Lock to control access to it.

      self.dbo is a property that returns the dnf.Base object, but it may change from one call to the next if the upstream repositories have changed.

      @@ -877,7 +877,7 @@ be installed by anaconda when creating the image.

      class pylorax.api.gitrpm.GitArchiveTarball(gitRepo)[source]¶
      -

      Bases: object

      +

      Bases: object

      Create a git archive of the selected git repo and reference

      @@ -885,7 +885,7 @@ be installed by anaconda when creating the image.

      Create the tar archive

      Parameters
      -

      sourcesDir (str) -- Path to use for creating the archive

      +

      sourcesDir (str) -- Path to use for creating the archive

      This clones the git repository and creates a git archive from the specified reference. @@ -905,7 +905,7 @@ The result is in RPMNAME.tar.xz under the sourcesDir

      Add a tar archive of a git repository to the rpm

      Parameters
      -

      gitRepo (dict) -- A dict with the repository details

      +

      gitRepo (dict) -- A dict with the repository details

      This populates the rpm with the URL of the git repository, the summary @@ -946,7 +946,7 @@ path.

      Parameters
        -
      • results_dir (str) -- Path to create the repository under

      • +
      • results_dir (str) -- Path to create the repository under

      • recipe (Recipe) -- The recipe to get the repos.git entries from

      @@ -954,7 +954,7 @@ path.

      Path to the dnf repository or ""

      Return type
      -

      str

      +

      str

      This function creates a dnf repository directory at results_dir+"repo/", @@ -969,13 +969,13 @@ repository to the caller.

      Return a description including the git repo and reference

      Parameters
      -

      gitRepo (dict) -- A dict with the repository details

      +

      gitRepo (dict) -- A dict with the repository details

      Returns

      A string with the git repo url and reference

      Return type
      -

      str

      +

      str

      @@ -986,7 +986,7 @@ repository to the caller.

      Create an rpm from the specified git repo

      Parameters
      -

      gitRepo (dict) -- A dict with the repository details

      +

      gitRepo (dict) -- A dict with the repository details

      This will clone the git repository, create an archive of the selected reference, @@ -1018,7 +1018,7 @@ directory. The gitRepo dict should have the following fields:

      exception pylorax.api.projects.ProjectsError[source]¶
      -

      Bases: Exception

      +

      Bases: Exception

      @@ -1027,13 +1027,13 @@ directory. The gitRepo dict should have the following fields:

      Convert the changelog to a string

      Parameters
      -

      changelog (tuple) -- A list of time, author, string tuples.

      +

      changelog (tuple) -- A list of time, author, string tuples.

      Returns

      The most recent changelog text or ""

      Return type
      -

      str

      +

      str

      This returns only the most recent changelog entry.

      @@ -1045,24 +1045,27 @@ directory. The gitRepo dict should have the following fields:

      Convert time since epoch to a string

      Parameters
      -

      t (int) -- Seconds since epoch

      +

      t (int) -- Seconds since epoch

      Returns

      Time string

      Return type
      -

      str

      +

      str

      -pylorax.api.projects.delete_repo_source(source_glob, source_name)[source]¶
      +pylorax.api.projects.delete_repo_source(source_glob, source_id)[source]¶

      Delete a source from a repo file

      Parameters
      -

      source_glob (str) -- A glob of the repo sources to search

      +
        +
      • source_glob (str) -- A glob of the repo sources to search

      • +
      • source_id (str) -- The repo id to delete

      • +
      Returns

      None

      @@ -1074,7 +1077,7 @@ directory. The gitRepo dict should have the following fields:

      A repo file may have multiple sources in it, delete only the selected source. If it is the last one in the file, delete the file.

      WARNING: This will delete ANY source, the caller needs to ensure that a system -source_name isn't passed to it.

      +source_id isn't passed to it.

      @@ -1083,13 +1086,13 @@ source_name isn't passed to it.

      Return the epoch:version-release.arch for the dep

      Parameters
      -

      dep (dict) -- dependency dict

      +

      dep (dict) -- dependency dict

      Returns

      epoch:version-release.arch

      Return type
      -

      str

      +

      str

      @@ -1112,7 +1115,7 @@ source_name isn't passed to it.

      A string

      Return type
      -

      str

      +

      str

      The DNF Repo.dump() function does not produce a string that can be used as a dnf .repo file, @@ -1128,14 +1131,14 @@ only the attributes we care about.

      Parameters
      • packages (list of hawkey.Package objects) -- The packages to be installed

      • -
      • block_size (int) -- The block size to use for rounding up file sizes.

      • +
      • block_size (int) -- The block size to use for rounding up file sizes.

      Returns

      The estimated size of installed packages

      Return type
      -

      int

      +

      int

      Estimating actual requirements is difficult without the actual file sizes, which @@ -1149,7 +1152,7 @@ a minimum size for each package.

      Return a list of sources from a directory of yum repositories

      Parameters
      -

      source_glob (str) -- A glob to use to match the source files, including full path

      +

      source_glob (str) -- A glob to use to match the source files, including full path

      Returns

      A list of the source ids in all of the matching files

      @@ -1166,7 +1169,7 @@ a minimum size for each package.

      Return a list of the source ids in a file

      Parameters
      -

      source_path (str) -- Full path and filename of the source (yum repo) file

      +

      source_path (str) -- Full path and filename of the source (yum repo) file

      Returns

      A list of source id strings

      @@ -1185,7 +1188,7 @@ a minimum size for each package.

      Parameters
      • dbo (dnf.Base) -- dnf base object

      • -
      • module_names (str) -- Names of the modules to get info about

      • +
      • module_names (str) -- Names of the modules to get info about

      Returns
      @@ -1206,7 +1209,7 @@ a minimum size for each package.

      • dbo (dnf.Base) -- dnf base object

      • offset -- Number of modules to skip

      • -
      • limit (int) -- Maximum number of modules to return

      • +
      • limit (int) -- Maximum number of modules to return

      Returns
      @@ -1220,6 +1223,30 @@ a minimum size for each package.

      and sets the type to "rpm"

      +
      +
      +pylorax.api.projects.new_repo_source(dbo, repoid, source, repo_dir)[source]¶
      +

      Add a new repo source from a Weldr source dict

      +
      +
      Parameters
      +
        +
      • dbo (dnf.Base) -- dnf base object

      • +
      • id (str) -- The repo id (API v0 uses the name, v1 uses the id)

      • +
      • source (dict) -- A Weldr source dict

      • +
      +
      +
      Returns
      +

      None

      +
      +
      Raises
      +

      ...

      +
      +
      +

      Make sure access to the dbo has been locked before calling this. +The id parameter will the the 'name' field for API v0, and the 'id' field for API v1

      +

      DNF variables will be substituted at load time, and on restart.

      +
      +
      pylorax.api.projects.pkg_to_build(pkg)[source]¶
      @@ -1232,7 +1259,7 @@ and sets the type to "rpm"

      A dict with the build details, epoch, release, arch, build_time, changelog, ...

      Return type
      -

      dict

      +

      dict

      metadata entries are hard-coded to {}

      @@ -1251,7 +1278,7 @@ and sets the type to "rpm"

      A dict with name, epoch, version, release, arch

      Return type
      -

      dict

      +

      dict

      @@ -1268,7 +1295,7 @@ and sets the type to "rpm"

      A dict with the name, summary, description, and url.

      Return type
      -

      dict

      +

      dict

      upstream_vcs is hard-coded to UPSTREAM_VCS

      @@ -1286,7 +1313,7 @@ and sets the type to "rpm"

      A dict with the project details, as well as epoch, release, arch, build_time, changelog, ...

      Return type
      -

      dict

      +

      dict

      metadata entries are hard-coded to {}

      @@ -1298,13 +1325,13 @@ and sets the type to "rpm"

      Extract the name from a project_info dict

      Parameters
      -

      pkg (dict) -- dict with package details

      +

      pkg (dict) -- dict with package details

      Returns

      A dict with name, and group_type

      Return type
      -

      dict

      +

      dict

      group_type is hard-coded to "rpm"

      @@ -1350,7 +1377,7 @@ and sets the type to "rpm"

      installed size and a list of NEVRA's of the project and its dependencies

      Return type
      -

      tuple of (int, list of dicts)

      +

      tuple of (int, list of dicts)

      Raises

      ProjectsError if there was a problem installing something

      @@ -1366,7 +1393,7 @@ and sets the type to "rpm"

      Parameters
      • dbo (dnf.Base) -- dnf base object

      • -
      • project_names (str) -- List of names of projects to get info about

      • +
      • project_names (str) -- List of names of projects to get info about

      Returns
      @@ -1398,20 +1425,21 @@ and sets the type to "rpm"

      -pylorax.api.projects.repo_to_source(repo, system_source)[source]¶
      +pylorax.api.projects.repo_to_source(repo, system_source, api=1)[source]¶

      Return a Weldr Source dict created from the DNF Repository

      Parameters
      • repo (dnf.RepoDict) -- DNF Repository

      • -
      • system_source (bool) -- True if this source is an immutable system source

      • +
      • system_source (bool) -- True if this source is an immutable system source

      • +
      • api (int) -- Select which api version of the dict to return (default 1)

      Returns

      A dict with Weldr Source fields filled in

      Return type
      -

      dict

      +

      dict

      Example:

      @@ -1421,7 +1449,8 @@ and sets the type to "rpm"

      "gpgkey_url": [ "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-x86_64" ], - "name": "fedora", + "id": "fedora", + "name": "Fedora $releasever - $basearch", "proxy": "http://proxy.brianlane.com:8123", "system": true "type": "yum-metalink", @@ -1429,6 +1458,9 @@ and sets the type to "rpm"

      } +

      The name field has changed in v1 of the API. +In v0 of the API name is the repo.id, in v1 it is the repo.name and a new field, +id has been added for the repo.id

      @@ -1437,7 +1469,10 @@ and sets the type to "rpm"

      Return a dnf Repo object created from a source dict

      Parameters
      -

      source (dict) -- A Weldr source dict

      +
        +
      • source (dict) -- A Weldr source dict

      • +
      • dnf_conf (dnf.conf) -- The dnf Config object

      • +
      Returns

      A dnf Repo object

      @@ -1453,7 +1488,8 @@ and sets the type to "rpm"

      "gpgkey_urls": [ "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-x86_64" ], - "name": "fedora", + "id": "fedora", + "name": "Fedora $releasever - $basearch", "proxy": "http://proxy.brianlane.com:8123", "system": True "type": "yum-metalink", @@ -1461,6 +1497,27 @@ and sets the type to "rpm"

      } +

      If the id field is included it is used for the repo id, otherwise name is used. +v0 of the API only used name, v1 added the distinction between id and name.

      +
      + +
      +
      +pylorax.api.projects.source_to_repodict(source)[source]¶
      +

      Return a tuple suitable for use with dnf.add_new_repo

      +
      +
      Parameters
      +

      source (dict) -- A Weldr source dict

      +
      +
      Returns
      +

      A tuple of dnf.Repo attributes

      +
      +
      Return type
      +

      (str, list, dict)

      +
      +
      +

      Return a tuple with (id, baseurl|(), kwargs) that can be used +with dnf.repos.add_new_repo

      @@ -1475,7 +1532,7 @@ and sets the type to "rpm"

      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • status_filter (str) -- What builds to return. None == all, "FINISHED", or "FAILED"

      • +
      • status_filter (str) -- What builds to return. None == all, "FINISHED", or "FAILED"

      Returns
      @@ -1509,13 +1566,13 @@ set in STATUS have a symlink in queue/new/

      Return details about the build.

      Parameters
      -

      results_dir (str) -- The directory containing the metadata and results for the build

      +

      results_dir (str) -- The directory containing the metadata and results for the build

      Returns

      A dictionary with details about the compose

      Return type
      -

      dict

      +

      dict

      Raises

      IOError if it cannot read the directory, STATUS, or blueprint file.

      @@ -1546,13 +1603,13 @@ None in Python (or null in JSON). The following timestamps are included:

      Return the type of composition.

      Parameters
      -

      results_dir (str) -- The directory containing the metadata and results for the build

      +

      results_dir (str) -- The directory containing the metadata and results for the build

      Returns

      The type of compose (eg. 'tar')

      Return type
      -

      str

      +

      str

      Raises

      RuntimeError if no kickstart template can be found.

      @@ -1566,7 +1623,7 @@ None in Python (or null in JSON). The following timestamps are included:

      Return the filename and full path of the build's image file

      Parameters
      -

      uuid (str) -- The UUID of the build

      +

      uuid (str) -- The UUID of the build

      Returns

      The image filename and full path

      @@ -1588,7 +1645,7 @@ None in Python (or null in JSON). The following timestamps are included:

      Parameters
      • cfg (DataHolder) -- Configuration settings

      • -
      • results_dir (str) -- The directory containing the metadata and results for the build

      • +
      • results_dir (str) -- The directory containing the metadata and results for the build

      Returns
      @@ -1640,7 +1697,7 @@ from ./queue/run/ to ./queue/new/ and rerun them.

      A list of the new composes, and a list of the running composes

      Return type
      -

      dict

      +

      dict

      This returns a dict with 2 lists. "new" is the list of uuids that are waiting to be built, @@ -1655,8 +1712,8 @@ and "run" has the uuids that are being built (currently limited to 1 a

      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uid (int) -- User ID that owns the queue

      • -
      • gid (int) -- Group ID that owns the queue

      • +
      • uid (int) -- User ID that owns the queue

      • +
      • gid (int) -- Group ID that owns the queue

      Returns
      @@ -1673,14 +1730,14 @@ and "run" has the uuids that are being built (currently limited to 1 a
      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • +
      • uuid (str) -- The UUID of the build

      Returns

      True if it was canceled and deleted

      Return type
      -

      bool

      +

      bool

      Only call this if the build status is WAITING or RUNNING

      @@ -1694,14 +1751,14 @@ and "run" has the uuids that are being built (currently limited to 1 a
      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • +
      • uuid (str) -- The UUID of the build

      Returns

      True if it was deleted

      Return type
      -

      bool

      +

      bool

      Raises

      This will raise an error if the delete failed

      @@ -1717,7 +1774,7 @@ and "run" has the uuids that are being built (currently limited to 1 a
      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • +
      • uuid (str) -- The UUID of the build

      Returns
      @@ -1740,14 +1797,14 @@ and "run" has the uuids that are being built (currently limited to 1 a
      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • +
      • uuid (str) -- The UUID of the build

      Returns

      dictionary of information about the composition or None

      Return type
      -

      dict

      +

      dict

      Raises

      RuntimeError if there was a problem

      @@ -1774,15 +1831,15 @@ given compose

      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • -
      • size (int) -- Number of KiB to read. Default is 1024

      • +
      • uuid (str) -- The UUID of the build

      • +
      • size (int) -- Number of KiB to read. Default is 1024

      Returns

      Up to size KiB from the end of the log

      Return type
      -

      str

      +

      str

      Raises

      RuntimeError if there was a problem (eg. no log file available)

      @@ -1802,14 +1859,14 @@ to start on a line boundary, and it may return less than size kbyte
      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • +
      • uuid (str) -- The UUID of the build

      Returns

      Details about the build

      Return type
      -

      dict or None

      +

      dict or None

      Returns the same dict as compose_details()

      @@ -1823,10 +1880,10 @@ to start on a line boundary, and it may return less than size kbyte
      Parameters
      • cfg (ComposerConfig) -- Configuration settings

      • -
      • uuid (str) -- The UUID of the build

      • -
      • metadata (bool) -- Set to true to include all the metadata needed to reproduce the build

      • -
      • image (bool) -- Set to true to include the output image

      • -
      • logs (bool) -- Set to true to include the logs from the build

      • +
      • uuid (str) -- The UUID of the build

      • +
      • metadata (bool) -- Set to true to include all the metadata needed to reproduce the build

      • +
      • image (bool) -- Set to true to include the output image

      • +
      • logs (bool) -- Set to true to include the logs from the build

      Returns
      @@ -1855,7 +1912,7 @@ the selected data to the caller by returning the Popen stdout from the tar proce
      exception pylorax.api.recipes.CommitTimeValError[source]¶
      -

      Bases: Exception

      +

      Bases: Exception

      @@ -1865,13 +1922,13 @@ the selected data to the caller by returning the Popen stdout from the tar proce
      Parameters
        -
      • rpmname (str) -- Name of the rpm to create, also used as the prefix name in the tar archive

      • -
      • rpmversion (str) -- Version of the rpm, eg. "1.0.0"

      • -
      • rpmrelease (str) -- Release of the rpm, eg. "1"

      • -
      • summary (str) -- Summary string for the rpm

      • -
      • repo (str) -- URL of the get repo to clone and create the archive from

      • -
      • ref (str) -- Git reference to check out. eg. origin/branch-name, git tag, or git commit hash

      • -
      • destination (str) -- Path to install the / of the git repo at when installing the rpm

      • +
      • rpmname (str) -- Name of the rpm to create, also used as the prefix name in the tar archive

      • +
      • rpmversion (str) -- Version of the rpm, eg. "1.0.0"

      • +
      • rpmrelease (str) -- Release of the rpm, eg. "1"

      • +
      • summary (str) -- Summary string for the rpm

      • +
      • repo (str) -- URL of the get repo to clone and create the archive from

      • +
      • ref (str) -- Git reference to check out. eg. origin/branch-name, git tag, or git commit hash

      • +
      • destination (str) -- Path to install the / of the git repo at when installing the rpm

      Returns
      @@ -1899,7 +1956,7 @@ the selected data to the caller by returning the Popen stdout from the tar proce
      class pylorax.api.recipes.Recipe(name, description, version, modules, packages, groups, customizations=None, gitrepos=None)[source]¶
      -

      Bases: dict

      +

      Bases: dict

      A Recipe of package and modules

      This is a subclass of dict that enforces the constructor arguments and adds a .filename property to return the recipe's filename, @@ -1910,13 +1967,13 @@ and a .toml() function to return the recipe as a TOML string.

      semver recipe version number bump

      Parameters
      -

      old_version (str) -- An optional old version number

      +

      old_version (str) -- An optional old version number

      Returns

      The new version number or None

      Return type
      -

      str

      +

      str

      Raises

      ValueError

      @@ -1942,7 +1999,7 @@ If they are different, check and return the new version

      Return a new Recipe with full module and package NEVRA

      Parameters
      -

      deps (list() -- A list of dependency NEVRA to use to fill in the modules and packages

      +

      deps (list() -- A list of dependency NEVRA to use to fill in the modules and packages

      Returns

      A new Recipe object

      @@ -1994,31 +2051,31 @@ If they are different, check and return the new version

      exception pylorax.api.recipes.RecipeError[source]¶
      -

      Bases: Exception

      +

      Bases: Exception

      exception pylorax.api.recipes.RecipeFileError[source]¶
      -

      Bases: Exception

      +

      Bases: Exception

      class pylorax.api.recipes.RecipeGit(rpmname, rpmversion, rpmrelease, summary, repo, ref, destination)[source]¶
      -

      Bases: dict

      +

      Bases: dict

      class pylorax.api.recipes.RecipeGroup(name)[source]¶
      -

      Bases: dict

      +

      Bases: dict

      class pylorax.api.recipes.RecipeModule(name, version)[source]¶
      -

      Bases: dict

      +

      Bases: dict

      @@ -2053,13 +2110,13 @@ If they are different, check and return the new version

      Check a dict before using it to create a new Recipe

      Parameters
      -

      recipe_dict (dict) -- A plain dict of the recipe

      +

      recipe_dict (dict) -- A plain dict of the recipe

      Returns

      True if dict is ok

      Return type
      -

      bool

      +

      bool

      Raises

      RecipeError

      @@ -2100,7 +2157,7 @@ a string that can be presented to users.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • +
      • branch (str) -- Branch name

      • recipe (Recipe) -- Recipe to commit

      @@ -2124,8 +2181,8 @@ a string that can be presented to users.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • directory (str) -- The directory of *.toml recipes to commit

      • +
      • branch (str) -- Branch name

      • +
      • directory (str) -- The directory of *.toml recipes to commit

      Returns
      @@ -2147,8 +2204,8 @@ be tried.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- Path to the recipe file to commit

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- Path to the recipe file to commit

      Returns
      @@ -2177,8 +2234,8 @@ be tried.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- filename to delete

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- filename to delete

      Returns
      @@ -2201,8 +2258,8 @@ be tried.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- Recipe name to delete

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- Recipe name to delete

      Returns
      @@ -2224,17 +2281,17 @@ be tried.

      Parameters
        -
      • title (str) -- Title of the entry

      • -
      • field (str) -- Field to use as the key for comparisons

      • -
      • old_items (list(dict)) -- List of item dicts with "name" field

      • -
      • new_items (list(dict)) -- List of item dicts with "name" field

      • +
      • title (str) -- Title of the entry

      • +
      • field (str) -- Field to use as the key for comparisons

      • +
      • old_items (list(dict)) -- List of item dicts with "name" field

      • +
      • new_items (list(dict)) -- List of item dicts with "name" field

      Returns

      List of diff dicts with old/new entries

      Return type
      -

      list(dict)

      +

      list(dict)

      @@ -2247,8 +2304,8 @@ be tried.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- filename to revert

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- filename to revert

      • commit_id (Git.OId) -- The commit id to check

      @@ -2256,7 +2313,7 @@ be tried.

      The tag or None if there isn't one

      Return type
      -

      str or None

      +

      str or None

      There should be only 1 tag pointing to a commit, but there may not @@ -2271,8 +2328,8 @@ be a tag at all.

      Parameters
        -
      • field (str) -- field to search for

      • -
      • value (str) -- value to match in the field

      • +
      • field (str) -- field to search for

      • +
      • value (str) -- value to match in the field

      • lst (list of dict) -- List of dict's with field

      @@ -2280,7 +2337,7 @@ be a tag at all.

      First dict with matching field:value, or None

      Return type
      -

      dict or None

      +

      dict or None

      Used to return a specific entry from a list that looks like this:

      @@ -2295,7 +2352,7 @@ be a tag at all.

      Parameters
        -
      • name (str) -- Name to search for

      • +
      • name (str) -- Name to search for

      • lst (list of dict) -- List of dict's with "name" field

      @@ -2303,7 +2360,7 @@ be a tag at all.

      First dict with matching name, or None

      Return type
      -

      dict or None

      +

      dict or None

      This is just a wrapper for find_field_value with field set to "name"

      @@ -2336,7 +2393,7 @@ return the default if it doesn't exist.

      Parameters
      • commit (Git.Commit) -- The commit to get details from

      • -
      • revision (int) -- Optional commit revision

      • +
      • revision (int) -- Optional commit revision

      Returns
      @@ -2357,13 +2414,13 @@ return the default if it doesn't exist.

      Return the revision number from a tag

      Parameters
      -

      tag (str) -- The tag to exract the revision from

      +

      tag (str) -- The tag to exract the revision from

      Returns

      The integer revision or None

      Return type
      -

      int or None

      +

      int or None

      The revision is the part after the r in 'branch/filename/rXXX'

      @@ -2383,7 +2440,7 @@ return the default if it doesn't exist.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • +
      • branch (str) -- Branch name

      Returns
      @@ -2407,14 +2464,14 @@ return the default if it doesn't exist.

      • repo (Git.Repository) -- Open repository

      • commit_id (Git.OId) -- The commit id to check

      • -
      • tag (str) -- The tag to check

      • +
      • tag (str) -- The tag to check

      Returns

      True if the tag points to the commit, False otherwise

      Return type
      -

      bool

      +

      bool

      @@ -2427,7 +2484,7 @@ return the default if it doesn't exist.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • filename (str) -- filename to revert

      • +
      • filename (str) -- filename to revert

      • tree (Git.Tree) -- The commit's tree

      • parent (Git.Commit) -- The commit's parent commit

      @@ -2436,7 +2493,7 @@ return the default if it doesn't exist.

      True if filename in the commit is different from its parents

      Return type
      -

      bool

      +

      bool

      @@ -2449,14 +2506,14 @@ return the default if it doesn't exist.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • +
      • branch (str) -- Branch name

      Returns

      A sorted list of the filenames

      Return type
      -

      list(str)

      +

      list(str)

      Raises

      Can raise errors from Ggit

      @@ -2472,14 +2529,14 @@ return the default if it doesn't exist.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • commit (str) -- The commit hash to list

      • +
      • commit (str) -- The commit hash to list

      Returns

      A sorted list of the filenames

      Return type
      -

      list(str)

      +

      list(str)

      Raises

      Can raise errors from Ggit

      @@ -2495,16 +2552,16 @@ return the default if it doesn't exist.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- filename to revert

      • -
      • limit (int) -- Number of commits to return (0=all)

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- filename to revert

      • +
      • limit (int) -- Number of commits to return (0=all)

      Returns

      A list of commit details

      Return type
      -

      list(CommitDetails)

      +

      list(CommitDetails)

      Raises

      Can raise errors from Ggit

      @@ -2543,7 +2600,7 @@ creating a new one.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • +
      • branch (str) -- Branch name

      • builder (TreeBuilder) -- instance of TreeBuilder

      @@ -2551,7 +2608,7 @@ creating a new one.

      (Tree, Sig, Ref)

      Return type
      -

      tuple

      +

      tuple

      Raises

      Can raise errors from Ggit

      @@ -2567,16 +2624,16 @@ creating a new one.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- filename to read

      • -
      • commit (str) -- Optional commit hash

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- filename to read

      • +
      • commit (str) -- Optional commit hash

      Returns

      The commit id, and the contents of the commit

      Return type
      -

      tuple(str, str)

      +

      tuple(str, str)

      Raises

      Can raise errors from Ggit

      @@ -2594,14 +2651,14 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • spec (str) -- Git revparse spec

      • +
      • spec (str) -- Git revparse spec

      Returns

      Contents of the commit

      Return type
      -

      str

      +

      str

      Raises

      Can raise errors from Ggit

      @@ -2618,16 +2675,16 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- Recipe name to read

      • -
      • commit (str) -- Optional commit hash

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- Recipe name to read

      • +
      • commit (str) -- Optional commit hash

      Returns

      The commit id, and a Recipe object

      Return type
      -

      tuple(str, Recipe)

      +

      tuple(str, Recipe)

      Raises

      Can raise errors from Ggit

      @@ -2645,9 +2702,9 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- Recipe name to read

      • -
      • commit (str) -- Optional commit hash

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- Recipe name to read

      • +
      • commit (str) -- Optional commit hash

      Returns
      @@ -2679,7 +2736,7 @@ commit:filename

      A list of diff dict entries with old/new

      Return type
      -

      list(dict)

      +

      list(dict)

      @@ -2697,7 +2754,7 @@ commit:filename

      Create a Recipe object from a plain dict.

      Parameters
      -

      recipe_dict (dict) -- A plain dict of the recipe

      +

      recipe_dict (dict) -- A plain dict of the recipe

      Returns

      A Recipe object

      @@ -2717,7 +2774,7 @@ commit:filename

      Return a recipe file as a Recipe object

      Parameters
      -

      recipe_path (str) -- Path to the recipe fila

      +

      recipe_path (str) -- Path to the recipe fila

      Returns

      A Recipe object

      @@ -2734,7 +2791,7 @@ commit:filename

      Create a Recipe object from a toml string.

      Parameters
      -

      recipe_str (str) -- The Recipe TOML string

      +

      recipe_str (str) -- The Recipe TOML string

      Returns

      A Recipe object

      @@ -2756,15 +2813,15 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- Filename to check

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- Filename to check

      Returns

      True if the filename exists on the HEAD of the branch, False otherwise.

      Return type
      -

      bool

      +

      bool

      @@ -2777,9 +2834,9 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- filename to revert

      • -
      • commit (str) -- Commit hash

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- filename to revert

      • +
      • commit (str) -- Commit hash

      Returns
      @@ -2802,9 +2859,9 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- Recipe name to revert

      • -
      • commit (str) -- Commit hash

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- Recipe name to revert

      • +
      • commit (str) -- Commit hash

      Returns
      @@ -2827,8 +2884,8 @@ commit:filename

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- Filename to tag

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- Filename to tag

      Returns
      @@ -2855,8 +2912,8 @@ If the commit has already been tagged it will return false.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- Recipe name to tag

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- Recipe name to tag

      Returns
      @@ -2880,10 +2937,10 @@ If the commit has already been tagged it will return false.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • filename (str) -- full path of the file to add

      • -
      • message (str) -- The commit message

      • -
      • content (str) -- The data to write

      • +
      • branch (str) -- Branch name

      • +
      • filename (str) -- full path of the file to add

      • +
      • message (str) -- The commit message

      • +
      • content (str) -- The data to write

      Returns
      @@ -2907,22 +2964,22 @@ If the commit has already been tagged it will return false.

      class pylorax.api.server.GitLock(repo, lock, dir)¶
      -

      Bases: tuple

      -
      +

      Bases: tuple

      +
      -property dir¶
      +dir¶

      Alias for field number 2

      -
      +
      -property lock¶
      +lock¶

      Alias for field number 1

      -
      +
      -property repo¶
      +repo¶

      Alias for field number 0

      @@ -2960,6 +3017,43 @@ If the commit has already been tagged it will return false.

      pylorax.api.toml.loads(s)[source]¶
      + +
      +

      pylorax.api.utils module¶

      +

      API utility functions

      +
      +
      +pylorax.api.utils.blueprint_exists(api, branch, blueprint_name)[source]¶
      +

      Return True if the blueprint exists

      +
      +
      Parameters
      +
        +
      • api (Flask) -- flask object

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- Recipe name to read

      • +
      +
      +
      +
      + +
      +
      +pylorax.api.utils.take_limits(iterable, offset, limit)[source]¶
      +

      Apply offset and limit to an iterable object

      +
      +
      Parameters
      +
        +
      • iterable (iter) -- The object to limit

      • +
      • offset (int) -- The number of items to skip

      • +
      • limit (int) -- The total number of items to return

      • +
      +
      +
      Returns
      +

      A subset of the iterable

      +
      +
      +
      +

      pylorax.api.v0 module¶

      @@ -2992,39 +3086,6 @@ error response with it set to false and an error message included.

      used then the API will use the master branch for blueprints. If you want to create a new branch use the new or workspace routes with ?branch=<branch-name> to store the new blueprint on the new branch.

      -
      -
      -pylorax.api.v0.blueprint_exists(branch, blueprint_name)[source]¶
      -

      Return True if the blueprint exists

      -
      -
      Parameters
      -
        -
      • api (Flask) -- flask object

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- Recipe name to read

      • -
      -
      -
      -
      - -
      -
      -pylorax.api.v0.take_limits(iterable, offset, limit)[source]¶
      -

      Apply offset and limit to an iterable object

      -
      -
      Parameters
      -
        -
      • iterable (iter) -- The object to limit

      • -
      • offset (int) -- The number of items to skip

      • -
      • limit (int) -- The total number of items to return

      • -
      -
      -
      Returns
      -

      A subset of the iterable

      -
      -
      -
      -
      pylorax.api.v0.v0_blueprints_changes(blueprint_names)[source]¶
      @@ -4130,6 +4191,85 @@ of the new version of the source. It will overwrite the previous one.

      + +
      +

      pylorax.api.v1 module¶

      +

      Setup v1 of the API server

      +
      +
      +pylorax.api.v1.v1_projects_source_info(source_ids)[source]¶
      +

      Return detailed info about the list of sources

      +

      /api/v1/projects/source/info/<source-ids>

      +
      +

      Return information about the comma-separated list of source ids. Or all of the +sources if '*' is passed. Note that general globbing is not supported, only '*'.

      +

      Immutable system sources will have the "system" field set to true. User added sources +will have it set to false. System sources cannot be changed or deleted.

      +

      Example:

      +
      {
      +  "errors": [],
      +  "sources": {
      +    "fedora": {
      +      "check_gpg": true,
      +      "check_ssl": true,
      +      "gpgkey_urls": [
      +        "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-x86_64"
      +      ],
      +      "id": "fedora",
      +      "name": "Fedora $releasever - $basearch",
      +      "proxy": "http://proxy.brianlane.com:8123",
      +      "system": true,
      +      "type": "yum-metalink",
      +      "url": "https://mirrors.fedoraproject.org/metalink?repo=fedora-28&arch=x86_64"
      +    }
      +  }
      +}
      +
      +
      +
      +

      In v0 the name field was used for the id (a short name for the repo). In v1 name changed +to id and name is now used for the longer descriptive name of the repository.

      +
      + +
      +
      +pylorax.api.v1.v1_projects_source_new()[source]¶
      +

      Add a new package source. Or change an existing one

      +

      POST /api/v0/projects/source/new

      +
      +

      Add (or change) a source for use when depsolving blueprints and composing images.

      +

      The proxy and gpgkey_urls entries are optional. All of the others are required. The supported +types for the urls are:

      +
        +
      • yum-baseurl is a URL to a yum repository.

      • +
      • yum-mirrorlist is a URL for a mirrorlist.

      • +
      • yum-metalink is a URL for a metalink.

      • +
      +

      If check_ssl is true the https certificates must be valid. If they are self-signed you can either set +this to false, or add your Certificate Authority to the host system.

      +

      If check_gpg is true the GPG key must either be installed on the host system, or gpgkey_urls +should point to it.

      +

      You can edit an existing source (other than system sources), by doing a POST +of the new version of the source. It will overwrite the previous one.

      +

      Example:

      +
      {
      +    "id": "custom-source-1",
      +    "name": "Custom Package Source #1",
      +    "url": "https://url/path/to/repository/",
      +    "type": "yum-baseurl",
      +    "check_ssl": true,
      +    "check_gpg": true,
      +    "gpgkey_urls": [
      +        "https://url/path/to/gpg-key"
      +    ]
      +}
      +
      +
      +
      +

      In v0 the name field was used for the id (a short name for the repo). In v1 name changed +to id and name is now used for the longer descriptive name of the repository.

      +
      +

      pylorax.api.workspace module¶

      @@ -4141,8 +4281,8 @@ of the new version of the source. It will overwrite the previous one.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- The name of the recipe

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- The name of the recipe

      Returns
      @@ -4162,14 +4302,14 @@ of the new version of the source. It will overwrite the previous one.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • +
      • branch (str) -- Branch name

      Returns

      The path to the branch's workspace directory

      Return type
      -

      str

      +

      str

      @@ -4182,15 +4322,15 @@ of the new version of the source. It will overwrite the previous one.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • -
      • recipe_name (str) -- The name of the recipe

      • +
      • branch (str) -- Branch name

      • +
      • recipe_name (str) -- The name of the recipe

      Returns

      The workspace copy of the recipe, or None if it doesn't exist

      Return type
      -

      Recipe or None

      +

      Recipe or None

      Raises

      RecipeFileError

      @@ -4206,7 +4346,7 @@ of the new version of the source. It will overwrite the previous one.

      Parameters
      • repo (Git.Repository) -- Open repository

      • -
      • branch (str) -- Branch name

      • +
      • branch (str) -- Branch name

      • recipe (Recipe) -- The recipe to write to the workspace

      diff --git a/docs/html/pylorax.html b/docs/html/pylorax.html index 84f916fc..caca461f 100644 --- a/docs/html/pylorax.html +++ b/docs/html/pylorax.html @@ -8,7 +8,7 @@ - pylorax package — Lorax 31.9 documentation + pylorax package — Lorax 31.10 documentation @@ -60,7 +60,7 @@
      - 31.9 + 31.10
      @@ -216,11 +216,13 @@
    • pylorax.api.server module
    • pylorax.api.timestamp module
    • pylorax.api.toml module
    • +
    • pylorax.api.utils module
    • pylorax.api.v0 module
    • +
    • pylorax.api.v1 module
    • pylorax.api.workspace module
    • Module contents
    • @@ -236,7 +238,7 @@
      class pylorax.base.BaseLoraxClass[source]¶
      -

      Bases: object

      +

      Bases: object

      pcritical(msg, fobj=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)[source]¶
      @@ -267,7 +269,7 @@
      class pylorax.base.DataHolder(**kwargs)[source]¶
      -

      Bases: dict

      +

      Bases: dict

      copy() → a shallow copy of D[source]¶
      @@ -281,7 +283,7 @@
      class pylorax.buildstamp.BuildStamp(product, version, bugurl, isfinal, buildarch, variant='')[source]¶
      -

      Bases: object

      +

      Bases: object

      write(outfile)[source]¶
      @@ -310,7 +312,7 @@
      class pylorax.creator.FakeDNF(conf)[source]¶
      -

      Bases: object

      +

      Bases: object

      A minimal DNF object suitable for passing to RuntimeBuilder

      lmc uses RuntimeBuilder to run the arch specific iso creation templates, so the the installroot config value is the important part of @@ -330,14 +332,14 @@ this. Everything else should be a nop.

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • ks (str) -- Path to the kickstart to use for the installation

      • +
      • ks (str) -- Path to the kickstart to use for the installation

      Returns

      Disk size in MiB

      Return type
      -

      int

      +

      int

      Also takes into account the use of reqpart or reqpart --add-boot

      @@ -358,7 +360,7 @@ this. Everything else should be a nop.

      List of error strings or empty list

      Return type
      -

      list

      +

      list

      @@ -370,9 +372,9 @@ this. Everything else should be a nop.

      Parameters
        -
      • images_dir (str) -- Path of directory with images to be used

      • -
      • live_image_name (str) -- Name of live rootfs image file

      • -
      • add_args (list) -- Arguments to be added to initrd= pxe config

      • +
      • images_dir (str) -- Path of directory with images to be used

      • +
      • live_image_name (str) -- Name of live rootfs image file

      • +
      • add_args (list) -- Arguments to be added to initrd= pxe config

      @@ -384,16 +386,16 @@ this. Everything else should be a nop.

      Find root of ostree deployment

      Parameters
      -

      phys_root (str) -- Path to physical root

      +

      phys_root (str) -- Path to physical root

      Returns

      Relative path of ostree deployment root

      Return type
      -

      str

      +

      str

      Raises
      -

      Exception -- More than one deployment roots were found

      +

      Exception -- More than one deployment roots were found

      @@ -407,7 +409,7 @@ this. Everything else should be a nop.

      Arch of first kernel found at mount_dir/boot/ or i386

      Return type
      -

      str

      +

      str

      @@ -421,7 +423,7 @@ this. Everything else should be a nop.

      True if disk_img is in /proc/mounts

      Return type
      -

      bool

      +

      bool

      @@ -433,17 +435,17 @@ this. Everything else should be a nop.

      Parameters
        -
      • disk_img (str) -- Full path of the disk image

      • -
      • name (str) -- Name of the appliance, passed to the template

      • -
      • template (str) -- Full path of Mako template

      • -
      • outfile (str) -- Full path of file to write, using template

      • -
      • networks (list) -- List of networks(str) from the kickstart

      • -
      • ram (int) -- Ram, in MiB, passed to template. Default is 1024

      • -
      • vcpus (int) -- CPUs, passed to template. Default is 1

      • -
      • arch (str) -- CPU architecture. Default is 'x86_64'

      • -
      • title (str) -- Title, passed to template. Default is 'Linux'

      • -
      • project (str) -- Project, passed to template. Default is 'Linux'

      • -
      • releasever (str) -- Release version, passed to template. Default is 29

      • +
      • disk_img (str) -- Full path of the disk image

      • +
      • name (str) -- Name of the appliance, passed to the template

      • +
      • template (str) -- Full path of Mako template

      • +
      • outfile (str) -- Full path of file to write, using template

      • +
      • networks (list) -- List of networks(str) from the kickstart

      • +
      • ram (int) -- Ram, in MiB, passed to template. Default is 1024

      • +
      • vcpus (int) -- CPUs, passed to template. Default is 1

      • +
      • arch (str) -- CPU architecture. Default is 'x86_64'

      • +
      • title (str) -- Title, passed to template. Default is 'Linux'

      • +
      • project (str) -- Project, passed to template. Default is 'Linux'

      • +
      • releasever (str) -- Release version, passed to template. Default is 29

      @@ -457,7 +459,7 @@ this. Everything else should be a nop.

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • ks (str) -- Path to the kickstart to use for the installation

      • +
      • ks (str) -- Path to the kickstart to use for the installation

      • cancel_func (function) -- Function that returns True to cancel build

      @@ -465,7 +467,7 @@ this. Everything else should be a nop.

      Path of the image created

      Return type
      -

      str

      +

      str

      Use qemu+boot.iso or anaconda to install to a disk image.

      @@ -479,15 +481,15 @@ this. Everything else should be a nop.

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • work_dir (str) -- Directory for storing results

      • -
      • disk_img (str) -- Path to disk image (fsimage or partitioned)

      • +
      • work_dir (str) -- Directory for storing results

      • +
      • disk_img (str) -- Path to disk image (fsimage or partitioned)

      Returns

      Path of directory with created images or None

      Return type
      -

      str

      +

      str

      fsck.ext4 is run on the rootfs_image to make sure there are no errors and to zero @@ -503,8 +505,8 @@ it will return None and log the error.

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • mount_dir (str) -- Directory tree to compress

      • -
      • work_dir (str) -- Output compressed image to work_dir+images/install.img

      • +
      • mount_dir (str) -- Directory tree to compress

      • +
      • work_dir (str) -- Output compressed image to work_dir+images/install.img

      @@ -527,9 +529,9 @@ root=live:CDLABEL=<volid> rd.live.image

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • mount_dir (str) -- Directory tree to compress

      • -
      • work_dir (str) -- Output compressed image to work_dir+images/install.img

      • -
      • size (int) -- Size of disk image, in GiB

      • +
      • mount_dir (str) -- Directory tree to compress

      • +
      • work_dir (str) -- Output compressed image to work_dir+images/install.img

      • +
      • size (int) -- Size of disk image, in GiB

      @@ -552,8 +554,8 @@ type img_mount: imgutils.PartitionMount

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • sys_root_dir (str) -- Path to root of the system

      • -
      • results_dir (str) -- Path of directory for storing results

      • +
      • sys_root_dir (str) -- Path to root of the system

      • +
      • results_dir (str) -- Path of directory for storing results

      @@ -594,7 +596,7 @@ See the cmdline --help for livemedia-creator for the possible options

      tuple of compression type and args

      Return type
      -

      tuple

      +

      tuple

      @@ -613,7 +615,7 @@ See the cmdline --help for livemedia-creator for the possible options

      class pylorax.discinfo.DiscInfo(release, basearch)[source]¶
      -

      Bases: object

      +

      Bases: object

      write(outfile)[source]¶
      @@ -632,15 +634,15 @@ See the cmdline --help for livemedia-creator for the possible options

      Parameters
      • installroot (string) -- Full path to the installroot

      • -
      • sources (list) -- List of source repo urls to use for the installation

      • -
      • enablerepos (list) -- List of repo names to enable

      • -
      • disablerepos (list) -- List of repo names to disable

      • -
      • mirrorlist (list) -- List of mirrors to use

      • +
      • sources (list) -- List of source repo urls to use for the installation

      • +
      • enablerepos (list) -- List of repo names to enable

      • +
      • disablerepos (list) -- List of repo names to disable

      • +
      • mirrorlist (list) -- List of mirrors to use

      • tempdir (string) -- Path of temporary directory

      • proxy (string) -- http proxy to use when fetching packages

      • releasever (string) -- Release version to pass to dnf

      • cachedir (string) -- Directory to use for caching packages

      • -
      • noverifyssl (bool) -- Set to True to ignore the CA of ssl certs. eg. use self-signed ssl for https repos.

      • +
      • noverifyssl (bool) -- Set to True to ignore the CA of ssl certs. eg. use self-signed ssl for https repos.

      @@ -694,7 +696,7 @@ If cachedir is None a dnf.cache directory is created inside tmpdir

      class pylorax.executils.ExecProduct(rc, stdout, stderr)[source]¶
      -

      Bases: object

      +

      Bases: object

      @@ -813,8 +815,8 @@ variable name, the old value is overwritten.

      Parameters
        -
      • name (str) -- The name of the environment variable

      • -
      • value (str) -- The value of the environment variable

      • +
      • name (str) -- The name of the environment variable

      • +
      • value (str) -- The value of the environment variable

      @@ -856,25 +858,25 @@ last.

      class pylorax.imgutils.DMDev(dev, size, name=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      class pylorax.imgutils.LoopDev(filename, size=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      class pylorax.imgutils.Mount(dev, opts='', mnt=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      class pylorax.imgutils.PartitionMount(disk_img, mount_ok=None, submount=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      Mount a partitioned image file using kpartx

      @@ -903,8 +905,8 @@ raises CalledProcessError if copy fails.

      Parameters
        -
      • compression (str) -- Compression type

      • -
      • basename (str) -- Base filename

      • +
      • compression (str) -- Compression type

      • +
      • basename (str) -- Base filename

      Returns
      @@ -954,7 +956,7 @@ Raises RuntimeError if more than one loop is associated

      Attach a disk image's partitions to /dev/loopX using kpartx

      Parameters
      -

      disk_img (str) -- The full path to a partitioned disk image

      +

      disk_img (str) -- The full path to a partitioned disk image

      Returns

      list of (loopXpN, size)

      @@ -1029,11 +1031,11 @@ disk image.

      Parameters
        -
      • diskimage (str) -- The full path to partitioned disk image with a /

      • -
      • fsimage (str) -- The full path of the output fs image file

      • -
      • img_size (int) -- Optional size of the fsimage in MiB or None to make +

      • diskimage (str) -- The full path to partitioned disk image with a /

      • +
      • fsimage (str) -- The full path of the output fs image file

      • +
      • img_size (int) -- Optional size of the fsimage in MiB or None to make it as small as possible

      • -
      • label (str) -- The label to apply to the image. Defaults to "Anaconda"

      • +
      • label (str) -- The label to apply to the image. Defaults to "Anaconda"

      @@ -1069,11 +1071,11 @@ in options.

      Parameters
        -
      • rootdir (str) -- Root directory

      • -
      • outfile (str) -- Path of output image file

      • -
      • label (str) -- Filesystem label

      • -
      • size (int) -- Size of the image in GiB, if None computed automatically

      • -
      • sysroot (str) -- path to system (deployment) root relative to physical root

      • +
      • rootdir (str) -- Root directory

      • +
      • outfile (str) -- Path of output image file

      • +
      • label (str) -- Filesystem label

      • +
      • size (int) -- Size of the image in GiB, if None computed automatically

      • +
      • sysroot (str) -- path to system (deployment) root relative to physical root

      @@ -1126,13 +1128,13 @@ raises CalledProcessError if umount fails.

      exception pylorax.installer.InstallError[source]¶
      -

      Bases: Exception

      +

      Bases: Exception

      class pylorax.installer.QEMUInstall(opts, iso, ks_paths, disk_img, img_size=2048, kernel_args=None, memory=1024, vcpus=None, vnc=None, arch=None, cancel_func=None, virtio_host='127.0.0.1', virtio_port=6080, image_type=None, boot_uefi=False, ovmf_path=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      Run qemu using an iso and a kickstart

      @@ -1147,7 +1149,7 @@ raises CalledProcessError if umount fails.

      Cleanup any leftover mounts from anaconda

      Parameters
      -

      dirinstall_path (str) -- Path where anaconda mounts things

      +

      dirinstall_path (str) -- Path where anaconda mounts things

      Returns

      True if cleanups were successful. False if any of them failed.

      @@ -1166,15 +1168,15 @@ other mountpoints.

      Parameters
        -
      • initrd (str) -- Path to initrd

      • -
      • files (list) -- list of file paths to add

      • +
      • initrd (str) -- Path to initrd

      • +
      • files (list) -- list of file paths to add

      Returns

      Path to a new initrd

      Return type
      -

      str

      +

      str

      The files are added to the initrd by creating a cpio image @@ -1191,8 +1193,8 @@ cpio archive.

      Parameters
        -
      • path (str) -- Path to metadata.json file

      • -
      • size (int) -- Disk size in MiB

      • +
      • path (str) -- Path to metadata.json file

      • +
      • size (int) -- Disk size in MiB

      @@ -1205,16 +1207,16 @@ cpio archive.

      Parameters
        -
      • start (int) -- Starting port number

      • -
      • end (int) -- Ending port number

      • -
      • host (str) -- Host IP to search

      • +
      • start (int) -- Starting port number

      • +
      • end (int) -- Ending port number

      • +
      • host (str) -- Host IP to search

      Returns

      First free port or -1 if none found

      Return type
      -

      int

      +

      int

      @@ -1226,8 +1228,8 @@ cpio archive.

      Parameters
        -
      • cancel_funcs (list) -- list of functions to call, True from any one cancels the build

      • -
      • proc (subprocess.Popen) -- Popen object for the anaconda process

      • +
      • cancel_funcs (list) -- list of functions to call, True from any one cancels the build

      • +
      • proc (subprocess.Popen) -- Popen object for the anaconda process

      Returns
      @@ -1246,10 +1248,10 @@ When an error is detected the process is terminated and this returns True

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • disk_img (str) -- The full path to the disk image to be created

      • -
      • disk_size (int) -- The size of the disk_img in MiB

      • +
      • disk_img (str) -- The full path to the disk image to be created

      • +
      • disk_size (int) -- The size of the disk_img in MiB

      • cancel_func (function) -- Function that returns True to cancel build

      • -
      • tar_img (str) -- For make_tar_disk, the path to final tarball to be created

      • +
      • tar_img (str) -- For make_tar_disk, the path to final tarball to be created

      @@ -1264,8 +1266,8 @@ passed creates a qemu disk image or tarfile.

      Parameters
        -
      • path (str) -- Path to metadata.json file

      • -
      • size (int) -- Disk size in MiB

      • +
      • path (str) -- Path to metadata.json file

      • +
      • size (int) -- Disk size in MiB

      @@ -1281,11 +1283,11 @@ metadata file are set correctly. All other values are left untouched.

      Parameters
      • opts (argparse options) -- options passed to livemedia-creator

      • -
      • install_log (str) -- The path to write the log from qemu

      • -
      • disk_img (str) -- The full path to the disk image to be created

      • -
      • disk_size (int) -- The size of the disk_img in MiB

      • +
      • install_log (str) -- The path to write the log from qemu

      • +
      • disk_img (str) -- The full path to the disk image to be created

      • +
      • disk_size (int) -- The size of the disk_img in MiB

      • cancel_func (function) -- Function that returns True to cancel build

      • -
      • tar_img (str) -- For make_tar_disk, the path to final tarball to be created

      • +
      • tar_img (str) -- For make_tar_disk, the path to final tarball to be created

      @@ -1325,7 +1327,7 @@ until the 'run_pkg_transaction' command is given.

      class pylorax.ltmpl.LoraxTemplate(directories=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      parse(template_file, variables)[source]¶
      @@ -1690,7 +1692,7 @@ KEY = ARG ARG ...

      class pylorax.ltmpl.TemplateRunner(fatalerrors=True, templatedir=None, defaults=None, builtins=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      This class parses and executes Lorax templates. Sample usage:

      # install a bunch of packages @@ -1747,7 +1749,7 @@ of a command in an %if statement (or any other control statements)!

      class pylorax.monitor.LogMonitor(log_path=None, host='localhost', port=0, timeout=None, log_request_handler_class=<class 'pylorax.monitor.LogRequestHandler'>)[source]¶
      -

      Bases: object

      +

      Bases: object

      Setup a server to monitor the logs output by the installation

      This needs to be running before the virt-install runs, it expects there to be a listener on the port used for the virtio log port.

      @@ -1762,7 +1764,7 @@ there to be a listener on the port used for the virtio log port.

      class pylorax.monitor.LogRequestHandler(request, client_address, server)[source]¶
      -

      Bases: socketserver.BaseRequestHandler

      +

      Bases: socketserver.BaseRequestHandler

      Handle monitoring and saving the logfiles from the virtual install

      Incoming data is written to self.server.log_path and each line is checked for patterns that would indicate that the installation failed. @@ -1787,7 +1789,7 @@ errors that indicate that the install failed.

      Check a line to see if it contains an error indicating installation failure

      Parameters
      -

      line (str) -- log line to check for failure

      +

      line (str) -- log line to check for failure

      If the line contains IGNORED it will be skipped.

      @@ -1814,7 +1816,7 @@ errors that indicate that the install failed.

      class pylorax.monitor.LogServer(log_path, *args, **kwargs)[source]¶
      -

      Bases: socketserver.TCPServer

      +

      Bases: socketserver.TCPServer

      A TCP Server that listens for log data

      @@ -1825,7 +1827,7 @@ errors that indicate that the install failed.

      True if there has been an error

      Return type
      -

      bool

      +

      bool

      @@ -1843,7 +1845,7 @@ errors that indicate that the install failed.

      class pylorax.mount.IsoMountpoint(iso_path, initrd_path=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      Mount the iso and check to make sure the vmlinuz and initrd.img files exist

      Also check the iso for a a stage2 image and set a flag and extract the iso's label.

      @@ -1910,7 +1912,7 @@ iso's label.

      class pylorax.treebuilder.RuntimeBuilder(product, arch, dbo, templatedir=None, installpkgs=None, excludepkgs=None, add_templates=None, add_template_vars=None)[source]¶
      -

      Bases: object

      +

      Bases: object

      Builds the anaconda runtime image.

      @@ -1977,7 +1979,7 @@ iso's label.

      class pylorax.treebuilder.TreeBuilder(product, arch, inroot, outroot, runtime, isolabel, domacboot=True, doupgrade=True, templatedir=None, add_templates=None, add_template_vars=None, workdir=None, extra_boot_args='')[source]¶
      -

      Bases: object

      +

      Bases: object

      Builds the arch-specific boot images. inroot should be the installtree root (the newly-built runtime dir)

      @@ -2061,7 +2063,7 @@ name of the kernel.

      class pylorax.treeinfo.TreeInfo(product, version, variant, basearch, packagedir='')[source]¶
      -

      Bases: object

      +

      Bases: object

      add_section(section, data)[source]¶
      @@ -2133,13 +2135,13 @@ Otherwise use the sharedir

      Find the templates to use.

      Parameters
      -

      templatedir (str) -- Top directory to search for templates

      +

      templatedir (str) -- Top directory to search for templates

      Returns

      Path to templates

      Return type
      -

      str

      +

      str

      If there is a templates.d directory under templatedir the @@ -2166,7 +2168,7 @@ lowest numbered directory entry is returned.

      Parameters
      • logfile (string) -- filename to write the log to

      • -
      • theLogger (logging.Logger) -- top-level logger

      • +
      • theLogger (logging.Logger) -- top-level logger

      diff --git a/docs/html/search.html b/docs/html/search.html index 7d5304d3..2b49b380 100644 --- a/docs/html/search.html +++ b/docs/html/search.html @@ -8,7 +8,7 @@ - Search — Lorax 31.9 documentation + Search — Lorax 31.10 documentation @@ -17,6 +17,7 @@ + @@ -25,11 +26,11 @@ - + @@ -59,7 +60,7 @@
      - 31.9 + 31.10
      diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js index cd0777f7..6c52a8c8 100644 --- a/docs/html/searchindex.js +++ b/docs/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["composer","composer-cli","composer.cli","index","intro","livemedia-creator","lorax","lorax-composer","modules","product-images","pylorax","pylorax.api"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["composer.rst","composer-cli.rst","composer.cli.rst","index.rst","intro.rst","livemedia-creator.rst","lorax.rst","lorax-composer.rst","modules.rst","product-images.rst","pylorax.rst","pylorax.api.rst"],objects:{"":{composer:[0,0,0,"-"],pylorax:[10,0,0,"-"]},"composer.cli":{blueprints:[2,0,0,"-"],cmdline:[2,0,0,"-"],compose:[2,0,0,"-"],help:[2,0,0,"-"],main:[2,1,1,""],modules:[2,0,0,"-"],projects:[2,0,0,"-"],sources:[2,0,0,"-"],status:[2,0,0,"-"],utilities:[2,0,0,"-"]},"composer.cli.blueprints":{blueprints_changes:[2,1,1,""],blueprints_cmd:[2,1,1,""],blueprints_delete:[2,1,1,""],blueprints_depsolve:[2,1,1,""],blueprints_diff:[2,1,1,""],blueprints_freeze:[2,1,1,""],blueprints_freeze_save:[2,1,1,""],blueprints_freeze_show:[2,1,1,""],blueprints_list:[2,1,1,""],blueprints_push:[2,1,1,""],blueprints_save:[2,1,1,""],blueprints_show:[2,1,1,""],blueprints_tag:[2,1,1,""],blueprints_undo:[2,1,1,""],blueprints_workspace:[2,1,1,""],dict_names:[2,1,1,""],prettyCommitDetails:[2,1,1,""],pretty_dict:[2,1,1,""],pretty_diff_entry:[2,1,1,""]},"composer.cli.cmdline":{composer_cli_parser:[2,1,1,""]},"composer.cli.compose":{compose_cancel:[2,1,1,""],compose_cmd:[2,1,1,""],compose_delete:[2,1,1,""],compose_image:[2,1,1,""],compose_info:[2,1,1,""],compose_list:[2,1,1,""],compose_log:[2,1,1,""],compose_logs:[2,1,1,""],compose_metadata:[2,1,1,""],compose_results:[2,1,1,""],compose_start:[2,1,1,""],compose_status:[2,1,1,""],compose_types:[2,1,1,""]},"composer.cli.modules":{modules_cmd:[2,1,1,""]},"composer.cli.projects":{projects_cmd:[2,1,1,""],projects_info:[2,1,1,""],projects_list:[2,1,1,""]},"composer.cli.sources":{sources_add:[2,1,1,""],sources_cmd:[2,1,1,""],sources_delete:[2,1,1,""],sources_info:[2,1,1,""],sources_list:[2,1,1,""]},"composer.cli.status":{status_cmd:[2,1,1,""]},"composer.cli.utilities":{argify:[2,1,1,""],frozen_toml_filename:[2,1,1,""],handle_api_result:[2,1,1,""],packageNEVRA:[2,1,1,""],toml_filename:[2,1,1,""]},"composer.http_client":{api_url:[0,1,1,""],append_query:[0,1,1,""],delete_url_json:[0,1,1,""],download_file:[0,1,1,""],get_filename:[0,1,1,""],get_url_json:[0,1,1,""],get_url_json_unlimited:[0,1,1,""],get_url_raw:[0,1,1,""],post_url:[0,1,1,""],post_url_json:[0,1,1,""],post_url_toml:[0,1,1,""]},"composer.unix_socket":{UnixHTTPConnection:[0,2,1,""],UnixHTTPConnectionPool:[0,2,1,""]},"composer.unix_socket.UnixHTTPConnection":{connect:[0,3,1,""]},"pylorax.ArchData":{bcj_arch:[10,4,1,""],lib64_arches:[10,4,1,""]},"pylorax.Lorax":{configure:[10,3,1,""],init_file_logging:[10,3,1,""],init_stream_logging:[10,3,1,""],run:[10,3,1,""],templatedir:[10,3,1,""]},"pylorax.api":{bisect:[11,0,0,"-"],checkparams:[11,0,0,"-"],cmdline:[11,0,0,"-"],compose:[11,0,0,"-"],config:[11,0,0,"-"],dnfbase:[11,0,0,"-"],errors:[11,0,0,"-"],flask_blueprint:[11,0,0,"-"],gitrpm:[11,0,0,"-"],projects:[11,0,0,"-"],queue:[11,0,0,"-"],recipes:[11,0,0,"-"],regexes:[11,0,0,"-"],server:[11,0,0,"-"],timestamp:[11,0,0,"-"],toml:[11,0,0,"-"],v0:[11,0,0,"-"],workspace:[11,0,0,"-"]},"pylorax.api.bisect":{insort_left:[11,1,1,""]},"pylorax.api.checkparams":{checkparams:[11,1,1,""]},"pylorax.api.cmdline":{lorax_composer_parser:[11,1,1,""]},"pylorax.api.compose":{add_customizations:[11,1,1,""],bootloader_append:[11,1,1,""],compose_args:[11,1,1,""],compose_types:[11,1,1,""],customize_ks_template:[11,1,1,""],firewall_cmd:[11,1,1,""],get_default_services:[11,1,1,""],get_extra_pkgs:[11,1,1,""],get_firewall_settings:[11,1,1,""],get_kernel_append:[11,1,1,""],get_keyboard_layout:[11,1,1,""],get_languages:[11,1,1,""],get_services:[11,1,1,""],get_timezone_settings:[11,1,1,""],keyboard_cmd:[11,1,1,""],lang_cmd:[11,1,1,""],move_compose_results:[11,1,1,""],repo_to_ks:[11,1,1,""],services_cmd:[11,1,1,""],start_build:[11,1,1,""],test_templates:[11,1,1,""],timezone_cmd:[11,1,1,""],write_ks_group:[11,1,1,""],write_ks_root:[11,1,1,""],write_ks_user:[11,1,1,""]},"pylorax.api.config":{ComposerConfig:[11,2,1,""],configure:[11,1,1,""],make_dnf_dirs:[11,1,1,""],make_owned_dir:[11,1,1,""],make_queue_dirs:[11,1,1,""]},"pylorax.api.config.ComposerConfig":{get_default:[11,3,1,""]},"pylorax.api.dnfbase":{DNFLock:[11,2,1,""],get_base_object:[11,1,1,""]},"pylorax.api.dnfbase.DNFLock":{lock:[11,3,1,""],lock_check:[11,3,1,""]},"pylorax.api.flask_blueprint":{BlueprintSetupStateSkip:[11,2,1,""],BlueprintSkip:[11,2,1,""]},"pylorax.api.flask_blueprint.BlueprintSetupStateSkip":{add_url_rule:[11,3,1,""]},"pylorax.api.flask_blueprint.BlueprintSkip":{make_setup_state:[11,3,1,""]},"pylorax.api.gitrpm":{GitArchiveTarball:[11,2,1,""],GitRpmBuild:[11,2,1,""],create_gitrpm_repo:[11,1,1,""],get_repo_description:[11,1,1,""],make_git_rpm:[11,1,1,""]},"pylorax.api.gitrpm.GitArchiveTarball":{write_file:[11,3,1,""]},"pylorax.api.gitrpm.GitRpmBuild":{add_git_tarball:[11,3,1,""],check:[11,3,1,""],clean:[11,3,1,""],cleanup_tmpdir:[11,3,1,""],get_base_dir:[11,3,1,""]},"pylorax.api.projects":{ProjectsError:[11,5,1,""],api_changelog:[11,1,1,""],api_time:[11,1,1,""],delete_repo_source:[11,1,1,""],dep_evra:[11,1,1,""],dep_nevra:[11,1,1,""],dnf_repo_to_file_repo:[11,1,1,""],estimate_size:[11,1,1,""],get_repo_sources:[11,1,1,""],get_source_ids:[11,1,1,""],modules_info:[11,1,1,""],modules_list:[11,1,1,""],pkg_to_build:[11,1,1,""],pkg_to_dep:[11,1,1,""],pkg_to_project:[11,1,1,""],pkg_to_project_info:[11,1,1,""],proj_to_module:[11,1,1,""],projects_depsolve:[11,1,1,""],projects_depsolve_with_size:[11,1,1,""],projects_info:[11,1,1,""],projects_list:[11,1,1,""],repo_to_source:[11,1,1,""],source_to_repo:[11,1,1,""]},"pylorax.api.queue":{build_status:[11,1,1,""],check_queues:[11,1,1,""],compose_detail:[11,1,1,""],get_compose_type:[11,1,1,""],get_image_name:[11,1,1,""],make_compose:[11,1,1,""],monitor:[11,1,1,""],queue_status:[11,1,1,""],start_queue_monitor:[11,1,1,""],uuid_cancel:[11,1,1,""],uuid_delete:[11,1,1,""],uuid_image:[11,1,1,""],uuid_info:[11,1,1,""],uuid_log:[11,1,1,""],uuid_status:[11,1,1,""],uuid_tar:[11,1,1,""]},"pylorax.api.recipes":{CommitDetails:[11,2,1,""],CommitTimeValError:[11,5,1,""],NewRecipeGit:[11,1,1,""],Recipe:[11,2,1,""],RecipeError:[11,5,1,""],RecipeFileError:[11,5,1,""],RecipeGit:[11,2,1,""],RecipeGroup:[11,2,1,""],RecipeModule:[11,2,1,""],RecipePackage:[11,2,1,""],check_list_case:[11,1,1,""],check_recipe_dict:[11,1,1,""],check_required_list:[11,1,1,""],commit_recipe:[11,1,1,""],commit_recipe_directory:[11,1,1,""],commit_recipe_file:[11,1,1,""],customizations_diff:[11,1,1,""],delete_file:[11,1,1,""],delete_recipe:[11,1,1,""],diff_lists:[11,1,1,""],find_commit_tag:[11,1,1,""],find_field_value:[11,1,1,""],find_name:[11,1,1,""],find_recipe_obj:[11,1,1,""],get_commit_details:[11,1,1,""],get_revision_from_tag:[11,1,1,""],gfile:[11,1,1,""],head_commit:[11,1,1,""],is_commit_tag:[11,1,1,""],is_parent_diff:[11,1,1,""],list_branch_files:[11,1,1,""],list_commit_files:[11,1,1,""],list_commits:[11,1,1,""],open_or_create_repo:[11,1,1,""],prepare_commit:[11,1,1,""],read_commit:[11,1,1,""],read_commit_spec:[11,1,1,""],read_recipe_and_id:[11,1,1,""],read_recipe_commit:[11,1,1,""],recipe_diff:[11,1,1,""],recipe_filename:[11,1,1,""],recipe_from_dict:[11,1,1,""],recipe_from_file:[11,1,1,""],recipe_from_toml:[11,1,1,""],repo_file_exists:[11,1,1,""],revert_file:[11,1,1,""],revert_recipe:[11,1,1,""],tag_file_commit:[11,1,1,""],tag_recipe_commit:[11,1,1,""],write_commit:[11,1,1,""]},"pylorax.api.recipes.Recipe":{bump_version:[11,3,1,""],filename:[11,3,1,""],freeze:[11,3,1,""],group_names:[11,3,1,""],module_names:[11,3,1,""],module_nver:[11,3,1,""],package_names:[11,3,1,""],package_nver:[11,3,1,""],toml:[11,3,1,""]},"pylorax.api.server":{GitLock:[11,2,1,""]},"pylorax.api.server.GitLock":{dir:[11,3,1,""],lock:[11,3,1,""],repo:[11,3,1,""]},"pylorax.api.timestamp":{timestamp_dict:[11,1,1,""],write_timestamp:[11,1,1,""]},"pylorax.api.toml":{TomlError:[11,5,1,""],dumps:[11,1,1,""],loads:[11,1,1,""]},"pylorax.api.v0":{blueprint_exists:[11,1,1,""],take_limits:[11,1,1,""],v0_blueprints_changes:[11,1,1,""],v0_blueprints_delete:[11,1,1,""],v0_blueprints_delete_workspace:[11,1,1,""],v0_blueprints_depsolve:[11,1,1,""],v0_blueprints_diff:[11,1,1,""],v0_blueprints_freeze:[11,1,1,""],v0_blueprints_info:[11,1,1,""],v0_blueprints_list:[11,1,1,""],v0_blueprints_new:[11,1,1,""],v0_blueprints_tag:[11,1,1,""],v0_blueprints_undo:[11,1,1,""],v0_blueprints_workspace:[11,1,1,""],v0_compose_cancel:[11,1,1,""],v0_compose_delete:[11,1,1,""],v0_compose_failed:[11,1,1,""],v0_compose_finished:[11,1,1,""],v0_compose_image:[11,1,1,""],v0_compose_info:[11,1,1,""],v0_compose_log_tail:[11,1,1,""],v0_compose_logs:[11,1,1,""],v0_compose_metadata:[11,1,1,""],v0_compose_queue:[11,1,1,""],v0_compose_results:[11,1,1,""],v0_compose_start:[11,1,1,""],v0_compose_status:[11,1,1,""],v0_compose_types:[11,1,1,""],v0_modules_info:[11,1,1,""],v0_modules_list:[11,1,1,""],v0_projects_depsolve:[11,1,1,""],v0_projects_info:[11,1,1,""],v0_projects_list:[11,1,1,""],v0_projects_source_delete:[11,1,1,""],v0_projects_source_info:[11,1,1,""],v0_projects_source_list:[11,1,1,""],v0_projects_source_new:[11,1,1,""]},"pylorax.api.workspace":{workspace_delete:[11,1,1,""],workspace_dir:[11,1,1,""],workspace_read:[11,1,1,""],workspace_write:[11,1,1,""]},"pylorax.base":{BaseLoraxClass:[10,2,1,""],DataHolder:[10,2,1,""]},"pylorax.base.BaseLoraxClass":{pcritical:[10,3,1,""],pdebug:[10,3,1,""],perror:[10,3,1,""],pinfo:[10,3,1,""],pwarning:[10,3,1,""]},"pylorax.base.DataHolder":{copy:[10,3,1,""]},"pylorax.buildstamp":{BuildStamp:[10,2,1,""]},"pylorax.buildstamp.BuildStamp":{write:[10,3,1,""]},"pylorax.cmdline":{lmc_parser:[10,1,1,""],lorax_parser:[10,1,1,""]},"pylorax.creator":{FakeDNF:[10,2,1,""],calculate_disk_size:[10,1,1,""],check_kickstart:[10,1,1,""],create_pxe_config:[10,1,1,""],find_ostree_root:[10,1,1,""],get_arch:[10,1,1,""],is_image_mounted:[10,1,1,""],make_appliance:[10,1,1,""],make_image:[10,1,1,""],make_live_images:[10,1,1,""],make_livecd:[10,1,1,""],make_runtime:[10,1,1,""],mount_boot_part_over_root:[10,1,1,""],rebuild_initrds_for_live:[10,1,1,""],run_creator:[10,1,1,""],squashfs_args:[10,1,1,""]},"pylorax.creator.FakeDNF":{reset:[10,3,1,""]},"pylorax.decorators":{singleton:[10,1,1,""]},"pylorax.discinfo":{DiscInfo:[10,2,1,""]},"pylorax.discinfo.DiscInfo":{write:[10,3,1,""]},"pylorax.dnfbase":{get_dnf_base_object:[10,1,1,""]},"pylorax.dnfhelper":{LoraxDownloadCallback:[10,2,1,""],LoraxRpmCallback:[10,2,1,""]},"pylorax.dnfhelper.LoraxDownloadCallback":{end:[10,3,1,""],progress:[10,3,1,""],start:[10,3,1,""]},"pylorax.dnfhelper.LoraxRpmCallback":{error:[10,3,1,""],progress:[10,3,1,""]},"pylorax.executils":{ExecProduct:[10,2,1,""],augmentEnv:[10,1,1,""],execReadlines:[10,1,1,""],execWithCapture:[10,1,1,""],execWithRedirect:[10,1,1,""],runcmd:[10,1,1,""],runcmd_output:[10,1,1,""],setenv:[10,1,1,""],startProgram:[10,1,1,""]},"pylorax.imgutils":{DMDev:[10,2,1,""],LoopDev:[10,2,1,""],Mount:[10,2,1,""],PartitionMount:[10,2,1,""],compress:[10,1,1,""],copytree:[10,1,1,""],default_image_name:[10,1,1,""],dm_attach:[10,1,1,""],dm_detach:[10,1,1,""],do_grafts:[10,1,1,""],estimate_size:[10,1,1,""],get_loop_name:[10,1,1,""],kpartx_disk_img:[10,1,1,""],loop_attach:[10,1,1,""],loop_detach:[10,1,1,""],loop_waitfor:[10,1,1,""],mkbtrfsimg:[10,1,1,""],mkcpio:[10,1,1,""],mkdosimg:[10,1,1,""],mkext4img:[10,1,1,""],mkfsimage:[10,1,1,""],mkfsimage_from_disk:[10,1,1,""],mkhfsimg:[10,1,1,""],mkqcow2:[10,1,1,""],mkqemu_img:[10,1,1,""],mkrootfsimg:[10,1,1,""],mksparse:[10,1,1,""],mksquashfs:[10,1,1,""],mktar:[10,1,1,""],mount:[10,1,1,""],round_to_blocks:[10,1,1,""],umount:[10,1,1,""]},"pylorax.installer":{InstallError:[10,5,1,""],QEMUInstall:[10,2,1,""],anaconda_cleanup:[10,1,1,""],append_initrd:[10,1,1,""],create_vagrant_metadata:[10,1,1,""],find_free_port:[10,1,1,""],novirt_cancel_check:[10,1,1,""],novirt_install:[10,1,1,""],update_vagrant_metadata:[10,1,1,""],virt_install:[10,1,1,""]},"pylorax.installer.QEMUInstall":{QEMU_CMDS:[10,4,1,""]},"pylorax.ltmpl":{LiveTemplateRunner:[10,2,1,""],LoraxTemplate:[10,2,1,""],LoraxTemplateRunner:[10,2,1,""],TemplateRunner:[10,2,1,""],brace_expand:[10,1,1,""],rexists:[10,1,1,""],rglob:[10,1,1,""],split_and_expand:[10,1,1,""]},"pylorax.ltmpl.LiveTemplateRunner":{installpkg:[10,3,1,""]},"pylorax.ltmpl.LoraxTemplate":{parse:[10,3,1,""]},"pylorax.ltmpl.LoraxTemplateRunner":{append:[10,3,1,""],chmod:[10,3,1,""],copy:[10,3,1,""],createaddrsize:[10,3,1,""],hardlink:[10,3,1,""],install:[10,3,1,""],installimg:[10,3,1,""],installinitrd:[10,3,1,""],installkernel:[10,3,1,""],installpkg:[10,3,1,""],installupgradeinitrd:[10,3,1,""],log:[10,3,1,""],mkdir:[10,3,1,""],move:[10,3,1,""],remove:[10,3,1,""],removefrom:[10,3,1,""],removekmod:[10,3,1,""],removepkg:[10,3,1,""],replace:[10,3,1,""],run_pkg_transaction:[10,3,1,""],runcmd:[10,3,1,""],symlink:[10,3,1,""],systemctl:[10,3,1,""],treeinfo:[10,3,1,""]},"pylorax.ltmpl.TemplateRunner":{run:[10,3,1,""]},"pylorax.monitor":{LogMonitor:[10,2,1,""],LogRequestHandler:[10,2,1,""],LogServer:[10,2,1,""]},"pylorax.monitor.LogMonitor":{shutdown:[10,3,1,""]},"pylorax.monitor.LogRequestHandler":{finish:[10,3,1,""],handle:[10,3,1,""],iserror:[10,3,1,""],re_tests:[10,4,1,""],setup:[10,3,1,""],simple_tests:[10,4,1,""]},"pylorax.monitor.LogServer":{log_check:[10,3,1,""],timeout:[10,4,1,""]},"pylorax.mount":{IsoMountpoint:[10,2,1,""]},"pylorax.mount.IsoMountpoint":{get_iso_label:[10,3,1,""],umount:[10,3,1,""]},"pylorax.sysutils":{chmod_:[10,1,1,""],chown_:[10,1,1,""],joinpaths:[10,1,1,""],linktree:[10,1,1,""],remove:[10,1,1,""],replace:[10,1,1,""],touch:[10,1,1,""]},"pylorax.treebuilder":{RuntimeBuilder:[10,2,1,""],TreeBuilder:[10,2,1,""],findkernels:[10,1,1,""],generate_module_info:[10,1,1,""],string_lower:[10,1,1,""],udev_escape:[10,1,1,""]},"pylorax.treebuilder.RuntimeBuilder":{cleanup:[10,3,1,""],create_ext4_runtime:[10,3,1,""],create_squashfs_runtime:[10,3,1,""],finished:[10,3,1,""],generate_module_data:[10,3,1,""],install:[10,3,1,""],postinstall:[10,3,1,""],verify:[10,3,1,""],writepkglists:[10,3,1,""],writepkgsizes:[10,3,1,""]},"pylorax.treebuilder.TreeBuilder":{build:[10,3,1,""],copy_dracut_hooks:[10,3,1,""],dracut_hooks_path:[10,3,1,""],implantisomd5:[10,3,1,""],kernels:[10,3,1,""],rebuild_initrds:[10,3,1,""]},"pylorax.treeinfo":{TreeInfo:[10,2,1,""]},"pylorax.treeinfo.TreeInfo":{add_section:[10,3,1,""],write:[10,3,1,""]},composer:{cli:[2,0,0,"-"],http_client:[0,0,0,"-"],unix_socket:[0,0,0,"-"]},pylorax:{ArchData:[10,2,1,""],Lorax:[10,2,1,""],api:[11,0,0,"-"],base:[10,0,0,"-"],buildstamp:[10,0,0,"-"],cmdline:[10,0,0,"-"],creator:[10,0,0,"-"],decorators:[10,0,0,"-"],discinfo:[10,0,0,"-"],dnfbase:[10,0,0,"-"],dnfhelper:[10,0,0,"-"],executils:[10,0,0,"-"],find_templates:[10,1,1,""],get_buildarch:[10,1,1,""],imgutils:[10,0,0,"-"],installer:[10,0,0,"-"],log_selinux_state:[10,1,1,""],ltmpl:[10,0,0,"-"],monitor:[10,0,0,"-"],mount:[10,0,0,"-"],output:[10,0,0,"-"],setup_logging:[10,1,1,""],sysutils:[10,0,0,"-"],treebuilder:[10,0,0,"-"],treeinfo:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute","5":"py:exception"},terms:{"01t08":11,"03374adbf080fe34f5c6c29f2e49cc2b86958bf2":11,"03397f8d":11,"06e8":11,"08t00":11,"0ad":11,"0e08ecbb708675bfabc82952599a1712a843779d":11,"0instal":11,"10t23":11,"11t00":11,"11t01":11,"13z":11,"1kb":2,"23t00":11,"28z":11,"29b492f26ed35d80800b536623bafc51e2f0eff2":11,"2b4174b3614b":11,"2ping":11,"30z":11,"3700mib":10,"3726a1093fd0":11,"397f":11,"3e11eb87a63d289662cba4b1804a0947a6843379":11,"3rn8evie2t50lmvybyihtgvrhcaecmeck31l":7,"41ef9c3e4b73":11,"44c0":11,"45502a6d":11,"45e380f39894":11,"47z":11,"48a5":11,"4a23":11,"4af9":11,"4b70":11,"4b8a":11,"4c68":11,"4c9f":11,"4cdb":11,"523b":11,"52z":11,"56z":11,"61b799739ce8":11,"6d292bd0":11,"7078e521a54b12eae31c3fd028680da7a0815a4d":11,"70b84195":11,"745712b2":11,"7f16":11,"870f":11,"8c8435ef":11,"8d7d":11,"96db":11,"99anaconda":10,"9bf1":11,"9c81":11,"byte":11,"case":[7,11],"catch":[5,10],"char":10,"class":[0,9,10,11],"default":[1,5,6,7,10,11],"final":[1,4,5,6,7,9,10,11],"function":[2,7,10,11],"import":[5,10,11],"int":[2,10,11],"new":[0,1,2,4,5,6,7,10],"null":[5,11],"public":[5,7],"return":[0,1,2,7,10,11],"short":7,"switch":5,"true":[0,2,5,6,7,10,11],"try":[5,10,11],"var":[5,6,7,10],"while":[7,9,10,11],ADDING:10,Adding:10,And:[5,7],But:[5,7],For:[0,5,7,10,11],Its:[4,6],NOT:11,Not:10,One:[5,7],RTS:11,The:[0,1,2,4,5,7,9,10,11],There:[5,7,10,11],These:[7,9,11],Use:[5,6,10,11],Used:[5,10,11],Uses:11,Using:11,Will:10,Yes:10,__init__:0,_io:10,_map:7,a215:11,a2ef832e6b1a:11,a697ca405cdf:11,aarch64:[6,9,10],abbrevi:5,abl:[6,7],abort:5,about:[1,2,5,11],abov:5,absolut:10,accept:7,access:[5,7,11],accomplish:5,account:[7,10],acff:11,acl:[10,11],action:10,activ:[5,7],actual:[10,11],ad52:11,add2636e7459:11,add:[0,1,2,5,6,9,10,11],add_arch_templ:[6,10],add_arch_template_var:[6,10],add_arg:10,add_custom:11,add_git_tarbal:11,add_sect:10,add_templ:[6,10],add_template_var:[6,10],add_url_rul:11,added:[5,7,10,11],adding:[7,10],addit:[2,5,6,7,10,11],addon:11,addr:10,addrsiz:10,admin:7,administr:7,ae1bf7e3:11,af92:11,afford:5,after:[5,6,10,11],against:5,alia:11,alibaba:1,align:5,all:[0,1,2,4,5,6,7,9,10,11],allbut:[6,10],alloc:5,allow:[5,6,7],allow_no_valu:11,almost:4,along:[6,11],alreadi:[7,10,11],also:[1,5,6,7,10,11],alwai:[5,7,11],amazon:5,america:7,ami:[1,7],amount:7,anaconda:[1,4,6,7,9,10,11],anaconda_arg:[5,11],anaconda_cleanup:10,anaconfigurationthread:11,ancient:11,ani:[0,1,2,5,7,10,11],anoth:[5,6,10],anyth:[9,11],anywher:10,api:[0,1,2,7,8,10],api_changelog:11,api_tim:11,api_url:0,api_vers:[0,2],apiv:1,app:[5,11],app_fil:5,app_nam:5,app_templ:5,appear:10,append:[0,2,5,6,7,10,11],append_initrd:10,append_queri:0,appli:[1,10,11],applianc:10,applic:[7,11],appropri:[5,10],arbitrari:[6,7],arch:[2,4,5,6,10,11],archdata:10,architectur:[4,5,6,10],archiv:[5,7,9,10,11],aren:[6,11],arg:[1,2,5,6,10,11],argifi:2,argpars:[2,10],argument:[0,2,10,11],argumentpars:[2,10,11],argv:10,arm:[5,10],armhfp:10,armplatform:[5,11],around:5,artifact:[5,11],assembl:11,associ:10,assum:[10,11],atla:11,attach:10,attempt:[4,10,11],attr:11,attribut:[5,11],audit:11,augmentenv:10,authent:11,author:[1,5,6,7,11],authorized_kei:7,automat:[7,10,11],avahi:11,avail:[1,2,5,7,11],awar:7,b36e:11,back:[1,10,11],backup:[10,11],bare:[5,11],base:[0,5,6,7,8,11],basearch:10,baseimag:7,baseloraxclass:10,basenam:10,baserequesthandl:10,basesystem:11,baseurl:[5,7,11],bash:[4,5,7,11],basic:[1,6],bcj_arch:10,bcl:[1,5,6,7],bd31:11,bdc:7,bec7:11,becaus:[5,6,7,11],becom:[5,7],been:[5,10,11],befor:[3,5,6,7,10,11],behavior:11,behind:[7,10],being:[5,6,7,11],below:[5,6,11],best:[5,6,7,11],better:10,between:[1,2,7,10,11],big:10,bin:[5,7,10],binari:[5,10],binary_output:10,bind:5,bind_mount_opt:5,bio:5,bisect:[8,10],bit:7,blob:11,block:[6,7,10,11],block_siz:11,blocksiz:10,blog:7,blueprint:[0,8,11],blueprint_exist:11,blueprint_nam:[2,11],blueprints_chang:2,blueprints_cmd:2,blueprints_delet:2,blueprints_depsolv:2,blueprints_diff:2,blueprints_freez:2,blueprints_freeze_sav:2,blueprints_freeze_show:2,blueprints_list:2,blueprints_push:2,blueprints_sav:2,blueprints_show:2,blueprints_tag:2,blueprints_undo:2,blueprints_workspac:2,blueprintsetupst:11,blueprintsetupstateskip:11,blueprintskip:11,bodi:[0,11],bool:[2,10,11],boot:[1,4,6,7,9,10,11],boot_uefi:10,bootabl:5,bootdir:10,bootload:[5,7,11],bootloader_append:11,bootproto:5,both:[5,7,11],bound:11,boundari:11,box:5,brace:10,brace_expand:10,branch:[5,7,11],brian:[1,5,6,7],brianlan:11,browser:7,bug:[5,6,7],bugurl:[6,10],bugzilla:5,build:[2,4,5,6,7,9,10,11],build_config_ref:11,build_env_ref:11,build_id:11,build_statu:11,build_tim:11,buildarch:[6,10],builder:[5,11],buildinstal:4,buildsi:5,buildstamp:8,built:[6,10,11],builtin:10,bump:[7,11],bump_vers:11,bunch:10,bundl:5,bzip2:[5,10],c30b7d80:11,cach:[5,6,7,10],cachedir:[6,10],calcul:10,calculate_disk_s:10,call:[4,5,10,11],callback:[10,11],calledprocesserror:10,caller:11,can:[1,2,5,6,7,9,10,11],cancel:[1,2,5,10,11],cancel_func:10,cannot:[0,5,6,7,11],captur:10,care:[10,11],cat:5,categor:7,caught:[5,11],caus:[7,10],cdboot:7,cdlabel:10,cee5f4c20fc33ea4d54bfecf56f4ad41ad15f4f3:11,central:4,cert:10,certif:[6,7,11],cfg:[10,11],chang:[1,2,5,6,7,10,11],changelog:[1,11],charact:[7,10],check:[7,10,11],check_gpg:[7,11],check_kickstart:10,check_list_cas:11,check_queu:11,check_recipe_dict:11,check_required_list:11,check_ssl:[7,11],checkparam:[8,10],checksum:5,checksum_typ:5,child:10,chmod:[6,10],chmod_:10,cho2:7,choos:5,chosen:[5,10,11],chown_:10,chronyd:7,chroot:[5,6,9,10],chroot_setup_cmd:5,chvt:5,cisco:11,clean:[4,5,7,11],cleanup:[5,10,11],cleanup_tmpdir:11,clear:[4,7,11],clearpart:5,cli:[0,3,7,8,11],client:[0,5,11],client_address:10,clone:[7,11],close:10,cloud:[5,7],cls:10,cmd:[7,10],cmdline:[0,8],cmdlist:10,cockpit:7,code:[6,7,10,11],collect:11,com:[1,5,6,7,11],combin:[2,5,11],come:11,comma:[2,10,11],command:[0,1,2,4,5,6,7,9,10,11],commandlin:[1,7,10],comment_prefix:11,commit:[1,2,7,11],commit_id:11,commit_recip:11,commit_recipe_directori:11,commit_recipe_fil:11,commitdetail:11,committimevalerror:11,common:[5,6],commonli:7,commun:[0,2,7],comoposit:11,compar:11,comparison:11,compat:7,complet:[4,7,10,11],compon:5,compos:[3,8,10],compose_arg:[7,11],compose_cancel:2,compose_cmd:2,compose_delet:2,compose_detail:11,compose_imag:2,compose_info:2,compose_list:2,compose_log:2,compose_metadata:2,compose_result:2,compose_start:2,compose_statu:[2,11],compose_typ:[2,7,11],composer_cli_pars:2,composerconfig:11,composerpars:11,composit:11,compress:[5,9,10,11],compress_arg:[5,11],compressarg:10,compressopt:10,comput:10,conf:[4,6,7,10,11],conf_fil:[10,11],config:[5,6,7,8,10],config_opt:5,configfil:6,configpars:11,configur:[4,5,6,7,10,11],conflict:[6,7],connect:0,connectionpool:0,consist:[1,4],consol:7,construct:[7,10],constructor:11,contain:[4,6,7,9,10,11],content:[3,6,7,8,9],context:10,continu:[2,10],control:[4,7,10,11],convent:5,convert:[2,5,7,10,11],copi:[1,4,5,6,7,9,10,11],copy_dracut_hook:10,copyin:5,copytre:10,core:5,correct:[2,4,5,7,10,11],correctli:[5,7,10,11],correspond:10,could:[5,7],count:11,coupl:5,cpio:10,cpu:10,crash:10,creat:[1,4,6,7,9,10,11],create_ext4_runtim:10,create_gitrpm_repo:11,create_pxe_config:10,create_squashfs_runtim:10,create_vagrant_metadata:10,createaddrs:10,createrepo:5,createrepo_c:11,creation:[4,9,10,11],creator:[3,7,8,11],cross:11,current:[1,4,5,7,10,11],custom:[4,5,9,11],customizations_diff:11,customize_ks_templ:11,cwd:0,d6bd:11,data:[0,4,5,10,11],datahold:[10,11],dbo:[10,11],debug:[7,10],decod:[10,11],decor:8,dee:11,default_image_nam:10,default_sect:11,defin:[5,7,11],delai:[7,10],delet:[0,1,2,5,6,7,10,11],delete_fil:11,delete_recip:11,delete_repo_sourc:11,delete_url_json:0,delimit:11,denial:[5,7],dep:11,dep_evra:11,dep_nevra:11,depend:[1,2,5,6,9,11],deploy:[7,10,11],depmod:10,depsolv:[1,2,7,11],describ:[5,7,11],descript:[1,5,7,10,11],desir:11,desktop:5,dest:[10,11],destdir:11,destfil:10,destin:[6,7,10,11],detach:10,detail:[1,2,7,11],detect:[5,10],dev:[5,6,10],devel:5,develop:[5,7,11],devic:[5,6,10],devicemapp:10,dhcp:[5,7],dialog:5,dict:[0,2,10,11],dict_nam:2,dict_typ:11,dictionari:11,didn:5,died:5,diff:[1,2,11],diff_list:11,differ:[1,2,5,7,10,11],difficult:11,dir:[5,6,10,11],direcori:10,direct:11,directli:[2,5,7,11],directori:[1,5,6,7,9,10,11],dirinstall_path:10,disabl:[6,7,10,11],disablerepo:[6,10],discinfo:[6,8],disk:[1,10],disk_imag:5,disk_img:10,disk_info:5,disk_siz:10,diskimag:10,dispatch:2,displai:[1,2,5,7],disposit:0,distribut:[6,7],dm_attach:10,dm_detach:10,dmdev:10,dmsetup:10,dnf:[6,7,10,11],dnf_conf:11,dnf_obj:10,dnf_repo_to_file_repo:11,dnfbase:8,dnfhelper:8,dnflock:11,dnfplugin:[6,10],do_graft:10,doc:[5,7,11],document:[5,6,7],doe:[2,5,6,7,10,11],doesn:[2,5,7,10,11],doing:[5,7,11],domacboot:10,domain:7,don:[5,10,11],done:[1,10,11],doupgrad:10,down:11,download:[0,2,6,10,11],download_fil:0,downloadprogress:10,dracut:10,dracut_arg:[5,6],dracut_default:10,dracut_hook:10,dracut_hooks_path:10,drawback:5,drive:6,driven:4,driver:[4,10],drop:[7,9],dst:10,due:5,dump:11,dure:2,dyy8gj:11,e083921a7ed1cf2eec91ad12b9ad1e70ef3470b:11,e695affd:11,e6fa6db4:11,each:[1,2,5,6,7,10,11],easi:10,easier:5,eastern:7,ec2:5,echo:5,edit:[7,11],edk2:5,effect:7,efi:[5,7],either:[5,7,10,11],el7:11,els:10,emit:10,empti:[6,7,10,11],empty_lines_in_valu:11,en_u:7,enabl:[5,6,7,10,11],enablerepo:[6,10],encod:10,encount:[5,11],encrypt:7,end:[1,5,6,7,10,11],endfor:10,endif:6,endpoint:11,enforc:[5,7,11],enhanc:5,enough:10,ensur:[10,11],enter:11,entir:7,entri:[2,5,7,10,11],env_add:10,env_prun:10,environ:[5,6,7,10],epoch:[2,11],equival:10,err:10,error:[2,5,7,8,10],escap:10,especi:7,estim:11,estimate_s:[10,11],etc:[5,6,7,10,11],even:[5,6,11],ever:0,everi:11,everyth:[5,6,10],exact:[7,11],exactli:[7,11],examin:5,exampl:[1,2,5,9,10,11],except:[5,6,7,10,11],exclud:10,excludepkg:[6,10],exec:5,execproduct:10,execreadlin:10,execut:[2,4,7,10],executil:8,execwithcaptur:10,execwithredirect:10,exist:[0,1,4,5,6,7,10,11],exit:[1,2,5,6,7,10],expand:10,expans:10,expect:[5,7,10,11],expected_kei:11,experi:10,expir:11,expire_sec:11,explicitli:7,explor:1,exract:11,ext4:[1,6,7,10],extend:7,extens:[1,6],extern:10,extra:[2,5,7,11],extra_boot_arg:[5,10],extract:[10,11],f15:5,f16:5,f629b7a948f5:11,fail:[1,2,7,10,11],failur:[10,11],fairli:6,fakednf:10,fall:11,fals:[1,2,5,6,7,10,11],far:5,fatal:[5,10],fatalerror:10,fe925c35e795:11,featur:5,fedora:[3,5,6,7,10,11],fedoraproject:[5,6,11],feedback:5,fetch:[0,10],few:[5,6],field:[2,7,11],figur:4,fila:11,file:[0,1,2,4,6,7,9,10,11],fileglob:10,filenam:[0,1,2,10,11],filesystem:[1,7,9,10,11],fill:11,filter:[10,11],filter_stderr:10,find:[0,4,5,10,11],find_commit_tag:11,find_field_valu:11,find_free_port:10,find_nam:11,find_ostree_root:10,find_recipe_obj:11,find_templ:10,findkernel:10,fine:7,finish:[1,2,6,7,10,11],firewal:11,firewall_cmd:11,firewalld:7,firmwar:5,first:[4,5,7,10,11],first_registr:11,fit:5,five:2,fix:10,flag:10,flask:11,flask_blueprint:[8,10],flatten:5,flexibl:4,fmt:10,fname:10,fobj:10,follow:[2,5,10,11],foo:11,forc:[6,7,10,11],form:[0,6,11],format:[1,2,5,7,10,11],found:[5,7,10,11],four:2,free:[6,10],freez:[1,2,11],from:[0,1,2,4,5,6,7,9,10,11],from_commit:11,frozen:[1,2],frozen_toml_filenam:2,fs_imag:5,fs_label:5,fsck:10,fsimag:[5,10],fstab:5,fstype:[5,10],ftp:7,ftruncat:10,full:[0,7,10,11],further:10,futur:7,game:11,gener:[2,4,5,6,10,11],generate_module_data:10,generate_module_info:10,get:[0,5,7,10,11],get_arch:10,get_base_dir:11,get_base_object:11,get_buildarch:10,get_commit_detail:11,get_compose_typ:11,get_default:11,get_default_servic:11,get_dnf_base_object:10,get_extra_pkg:11,get_filenam:0,get_firewall_set:11,get_image_nam:11,get_iso_label:10,get_kernel_append:11,get_keyboard_layout:11,get_languag:11,get_loop_nam:10,get_repo_descript:11,get_repo_sourc:11,get_revision_from_tag:11,get_servic:11,get_source_id:11,get_timezone_set:11,get_url_json:0,get_url_json_unlimit:0,get_url_raw:0,gfile:11,ggit:11,gib:[5,6,10],gid:[7,11],git:[5,11],gitarchivetarbal:11,github:5,gitlock:11,gitrepo:11,gitrpm:[8,10],gitrpmbuild:11,given:[0,10,11],glanc:5,glob:[6,7,10,11],glusterf:11,gnome:5,gnu:11,goe:[4,6,10],going:5,good:[5,10],googl:[1,7],gpg:[7,11],gpgcheck:7,gpgkei:[7,11],gpgkey_url:[7,11],gplv3:11,graft:10,green:11,group:[1,5,10,11],group_nam:11,group_typ:11,grow:5,growpart:5,grub2:[5,7],grub:10,gui:7,gzip:[5,10],had:5,handl:[2,5,6,7,10],handle_api_result:2,handler:10,happen:[5,6,10],hard:11,hardlink:10,has:[2,5,7,9,10,11],hash:[1,2,7,11],have:[2,5,6,7,10,11],haven:5,hawkei:11,hda:1,head:[7,11],head_commit:11,header:[0,7,11],hello:5,help:[0,5,8,10],helper:11,here:[4,5,6,7,9,11],higer:11,highbank:5,higher:6,histori:[7,11],hold:11,home:[5,7],homepag:11,hook:10,host:[0,5,6,7,10,11],hostnam:[7,11],how:[4,10],howev:7,http:[0,1,2,5,6,7,10,11],http_client:8,httpconnect:0,httpconnectionpool:0,httpd:7,human:2,hw_random:10,hwmon:10,hyper:1,i386:10,ia64:10,id_rsa:7,idea:[4,5],ideal:10,identifi:[2,6],ids:11,ignor:10,imag:[2,3,4,6,10,11],image_nam:[5,7,11],image_s:11,image_size_align:5,image_typ:[5,10],images_dir:10,imap:7,img:[5,6,9,10],img_mount:10,img_siz:10,imgutil:8,immedi:7,immut:[7,11],implantisomd5:10,implement:[9,10],includ:[0,2,5,7,9,11],inclus:11,incom:10,increment:11,indent:2,index:[3,11],indic:10,individu:2,info:[1,2,7,11],inform:[1,2,4,6,7,11],init:[5,7,10],init_file_log:10,init_stream_log:10,initi:10,initramf:[5,6,10,11],initrd:[5,6,10],initrd_address:10,initrd_path:10,inject:7,inline_comment_prefix:11,input:[5,10],inroot:10,insecur:5,insert:11,insid:[5,10,11],insort_left:11,instal:[1,2,4,8,9,11],install_log:10,installclass:9,installerror:10,installimg:[9,10],installinitrd:10,installkernel:10,installpkg:[6,9,10,11],installroot:[6,10],installtre:10,installupgradeinitrd:10,instanc:[5,11],instead:[1,2,5,6,7,11],instroot:4,instruct:5,insuffici:10,integ:11,interact:1,interfac:7,interfer:6,intermedi:1,interpol:11,intrd:10,introduct:3,invalid:11,ioerror:11,is_commit_tag:11,is_image_mount:10,is_parent_diff:11,iserror:10,isfin:[6,10],isn:[5,10,11],iso:[1,4,10,11],iso_nam:5,iso_path:10,isoinfo:10,isolabel:10,isolinux:10,isomountpoint:10,issu:7,item:[2,10,11],iter:[10,11],its:[5,10,11],itself:7,jboss:11,job:11,job_creat:11,job_finish:11,job_start:11,joinpath:10,json:[0,1,2,5,7,10,11],just:[9,10,11],kbyte:11,kdir:10,keep:[1,5,10,11],keepglob:10,kei:[2,7,10,11],kernel:[5,6,10,11],kernel_append:11,kernel_arg:[5,10],keyboard:[7,11],keyboard_cmd:11,keymap:7,kib:11,kickstart:[7,10,11],kickstartpars:10,kill:[5,10],knowledg:4,known:2,kpartx:[5,10],kpartx_disk_img:10,ks_path:10,ks_templat:11,ksflatten:5,kubernet:11,kvm:[1,5],kwarg:[10,11],label:[5,10],lambda:10,lane:[1,5,6,7],lang:11,lang_cmd:11,languag:[7,11],larg:[7,11],last:[1,2,10,11],later:[6,10,11],latest:[5,11],launch:7,layout:11,lazi:10,lead:[0,10],least:[5,10],leav:[7,10,11],left:[7,10,11],leftmost:11,leftov:[5,10],len:11,less:11,level:[5,6,7,10,11],lib64_arch:10,lib:[7,10,11],librari:4,libus:11,libvirt:5,licens:11,light:6,like:[1,5,6,7,9,10,11],limit:[0,5,7,10,11],line:[2,4,7,10,11],link:10,linktre:10,linux:[5,6,10],list:[1,2,4,5,6,7,10,11],list_branch_fil:11,list_commit:11,list_commit_fil:11,listen:[1,7,10],live:[1,4,7,10,11],live_image_nam:10,live_rootfs_s:5,livecd:10,livemedia:[3,7,10,11],liveo:[6,10],livesi:5,livetemplaterunn:10,lmc:[5,10],lmc_parser:10,load:[10,11],local:[1,5,10,11],localectl:7,localhost:10,locat:[5,6],lock:[7,11],lock_check:11,log:[1,2,5,6,10,11],log_check:10,log_error:10,log_output:10,log_path:10,log_request_handler_class:10,log_selinux_st:10,logdir:10,logfil:[1,5,6,7,10],logger:10,logic:6,logmonitor:10,lognam:10,logrequesthandl:10,logserv:10,longer:[7,11],look:[4,5,7,9,11],loop:[5,6,10],loop_attach:10,loop_detach:10,loop_dev:10,loop_waitfor:10,loopdev:10,loopx:10,loopxpn:10,lorax:[1,5,9,10,11],lorax_composer_pars:11,lorax_pars:10,lorax_templ:5,loraxdir:10,loraxdownloadcallback:10,loraxrpmcallback:10,loraxtempl:10,loraxtemplaterunn:[6,10],lose:5,losetup:10,lost:11,low:10,lowercas:10,lowest:10,lpar:10,lst:[2,11],ltmpl:[6,8],lvm2:10,lzma:[5,10],macboot:[5,6],made:[7,10],mai:[5,6,7,10,11],mail:5,main:2,maintain:4,make:[5,6,7,10,11],make_:7,make_appli:10,make_compos:11,make_disk:7,make_dnf_dir:11,make_git_rpm:11,make_imag:10,make_live_imag:10,make_livecd:10,make_owned_dir:11,make_queue_dir:11,make_runtim:10,make_setup_st:11,make_tar_disk:10,makestamp:4,maketreeinfo:4,mako:[4,5,6,10],manag:1,mandatori:[7,11],mani:11,manual:11,map:2,mask:10,master:11,match:[5,7,10,11],maximum:11,maxretri:10,mbr:5,meant:[10,11],mechan:7,media:[5,10],megabyt:5,member:[1,5],memlimit:10,memori:[5,10],memtest86:5,mention:10,messag:[7,10,11],metadata:[1,2,5,6,7,10,11],metalink:[7,11],method:[5,7,10,11],mib:[5,10,11],mime:11,mind:[5,11],minim:[5,7,10],minimum:[5,11],minut:5,mirror:[5,10,11],mirrorlist:[6,7,10,11],mirrormanag:5,miss:[10,11],mix:4,mkbtrfsimg:10,mkcpio:10,mkdir:[5,6,10],mkdosimg:10,mkext4img:10,mkf:10,mkfsarg:10,mkfsimag:10,mkfsimage_from_disk:10,mkhfsimg:10,mknod:5,mkqcow2:10,mkqemu_img:10,mkrootfsimg:10,mkspars:10,mksquashf:10,mktar:10,mnt:[7,10],mock:[1,7],mockfil:7,moddir:10,mode:[1,5,6,10,11],modeless:10,modifi:[5,10,11],modul:[1,3,4,6,8],module_nam:11,module_nv:11,modules_cmd:2,modules_info:11,modules_list:11,monitor:[5,8,11],more:[4,5,7,10],most:[1,2,5,7,11],mount:[5,7,8],mount_boot_part_over_root:10,mount_dir:10,mount_ok:10,mountarg:10,mountpoint:[5,10],move:[6,7,10,11],move_compose_result:[7,11],msg:[10,11],much:10,multi:5,multipl:[2,5,6,7,10,11],must:[5,6,7,9,10,11],mvebu:5,myconfig:10,name:[2,10,11],namespac:2,need:[1,2,5,6,7,10,11],neither:11,network:[5,7,10],never:10,nevra:[2,11],new_item:11,new_recip:11,newer:5,newest:[1,2,11],newli:10,newlin:10,newrecipegit:11,newrun:10,next:[10,11],nice:2,noarch:[7,11],node:[5,6],nomacboot:[5,6],non:[7,10,11],none:[0,5,7,10,11],nop:10,norm:2,normal:[1,5,6,9],north:7,nosmt:7,nosuchpackag:10,note:[5,6,10,11],noth:[2,10,11],noupgrad:6,noverifi:6,noverifyssl:[6,10],novirt:5,novirt_cancel_check:10,novirt_instal:[7,10,11],now:[5,6,9,10,11],nspawn:[5,6],ntp:7,ntpserver:[7,11],number:[1,2,5,6,7,10,11],numer:7,nvr:6,object:[0,10,11],observ:5,occas:10,occur:10,oci_config:5,oci_runtim:5,octalmod:10,off:7,offset:[0,11],oid:11,old:[5,6,10,11],old_item:11,old_recip:11,old_vers:11,older:5,omap:5,omit:7,onc:[1,5,6,7],one:[1,2,5,6,7,9,10,11],ones:[6,7,10,11],onli:[2,5,6,7,10,11],onto:6,open:[7,11],open_or_create_repo:11,openh264:11,openstack:[1,7],oper:[4,5,7,11],opt:[2,7,10,11],option:[4,5,6,7,10,11],order:[4,6,7,11],ordereddict:11,org:[5,6,7,11],origin:[0,5,7,11],ostre:[5,10],other:[4,5,6,7,10,11],otherwis:[7,10,11],ouput:11,out:[1,4,7,10,11],outfil:10,output:[1,2,5,6,8],outputdir:[6,10],outroot:10,outsid:10,over:[7,9],overhead:10,overrid:[5,6,7,10,11],overridden:7,overwrit:[7,11],overwritten:10,ovmf:5,ovmf_path:[5,10],own:[5,6,7,11],owner:[7,11],ownership:[7,11],p_dir:11,pacag:10,packag:[1,4,5,6,8,9],package_nam:11,package_nv:11,packagedir:10,packagenevra:2,page:3,param1:0,param2:0,param:[10,11],paramat:9,paramet:[0,2,10,11],parent:11,pars:[10,11],parser:10,part:[2,5,9,10,11],particular:10,partit:[1,5,10],partitin:5,partitionmount:10,pass:[1,5,6,7,9,10,11],passwd:5,password:[5,7,11],pat:10,patch:[7,11],path:[0,1,2,5,6,7,10,11],pathnam:10,pattern:10,payload:10,pcritic:10,pdebug:10,per:[10,11],permiss:[7,11],perror:10,phys_root:10,physic:10,pick:[1,10],pid:5,pinfo:10,ping:11,pivot:10,pkg:[2,10,11],pkg_to_build:11,pkg_to_dep:11,pkg_to_project:11,pkg_to_project_info:11,pkgglob:10,pkglistdir:10,pkgname:9,pkgsizefil:10,pki:11,place:[5,6,9,10,11],plain:[5,6,7,10,11],plan:7,platform:[5,11],play0ad:11,pleas:10,plugin:6,plugin_conf:5,point:[4,5,7,10,11],pool:7,popen:[10,11],popul:[10,11],port:[0,5,6,7,10,11],pos:11,posit:11,possibl:[2,5,7,10,11],post:[0,5,7,10,11],post_url:0,post_url_json:0,post_url_toml:0,postfix:7,postinstal:10,postun:10,powerpc:10,ppc64:10,ppc64le:[9,10],ppc:9,pre:[5,7,10],precaut:1,preexec_fn:10,prefix:[5,7,10,11],prepar:11,prepare_commit:11,prepend:11,present:[4,5,11],preserv:10,pretti:[7,10],pretty_dict:2,pretty_diff_entri:2,prettycommitdetail:2,preun:10,prevent:11,previou:[7,10,11],previous:[4,5],primari:[5,7],primarili:7,print:[1,2],privileg:7,probabl:6,problem:[4,10,11],proc:10,procedur:10,process:[2,4,5,6,7,9,10,11],produc:[4,5,7,11],product:[3,6,10],program:[1,2,5,6,7,10,11],progress:[0,2,10,11],proj:11,proj_to_modul:11,project:[0,1,5,7,8,10],project_info:11,project_nam:11,projects_cmd:2,projects_depsolv:11,projects_depsolve_with_s:11,projects_info:[2,11],projects_list:[2,11],projectserror:11,pronounc:11,properti:[10,11],protocol:7,provid:[4,5,6,10,11],proxi:[6,7,10,11],pub:[5,6,7],pubkei:5,pull:[4,5,6],pungi:4,purpos:[5,7],push:[1,2],put:[7,9,10,11],pwarn:10,pxe:10,pxeboot:6,pyanaconda:9,pykickstart:[10,11],pylorax:[4,6,7,8,9],pyo:10,python:[4,6,10,11],pythonpath:5,qcow2:[1,5,10],qemu:[1,10],qemu_arg:5,qemu_cmd:10,qemuinstal:10,queri:[0,2],queue:[2,7,8,10],queue_statu:11,quot:10,race:10,rais:[0,10,11],raise_err:10,ram:[5,10],random:[5,10],rang:10,rare:10,raw:[0,1,2,5,11],rawhid:[5,6],rdo:5,re_test:10,react:7,read:[4,5,10,11],read_commit:11,read_commit_spec:11,read_recipe_and_id:11,read_recipe_commit:11,readabl:2,readi:[10,11],readm:11,real:[5,7,10],realli:[5,6,10],reason:[5,10],reboot:7,rebuild:[5,6,10],rebuild_initrd:10,rebuild_initrds_for_l:10,recent:[1,2,11],recip:[8,10],recipe_dict:11,recipe_diff:11,recipe_filenam:11,recipe_from_dict:11,recipe_from_fil:11,recipe_from_toml:11,recipe_kei:11,recipe_nam:11,recipe_path:11,recipe_str:11,recipeerror:11,recipefileerror:11,recipegit:11,recipegroup:11,recipemodul:11,recipepackag:11,recommend:[5,7],recurs:10,redhat:[1,5,6,7],redirect:[5,10],reduc:7,ref:[7,11],refer:[7,11],referenc:7,refus:5,regex:[8,10],regist:11,register_blueprint:11,rel:10,relat:[7,11],releas:[1,2,4,5,6,7,10,11],releasev:[5,7,10],relev:11,reli:4,reliabl:5,remain:[2,6,7],remaind:11,rememb:7,remov:[4,5,6,7,10,11],remove_temp:10,removefrom:[6,10],removekmod:[6,10],removepkg:[6,10],renam:[5,10],repl:10,replac:[4,5,6,7,9,10,11],repo1:5,repo2:5,repo:[4,6,10,11],repo_file_exist:11,repo_to_k:11,repo_to_sourc:11,repo_url:5,repodata:[5,11],repodict:11,report:[5,6,7,11],repositori:[6,7,10,11],represent:11,reproduc:11,reqpart:[5,10],request:[0,7,10,11],requir:[1,5,7,10,11],rerun:11,rescu:5,reserv:5,reset:10,reset_handl:10,reset_lang:10,resolv:10,resort:10,respond:7,respons:[0,1,10],rest:[7,10],restart:[7,11],restor:11,result:[0,1,2,5,6,7,10,11],result_dir:5,resultdir:5,results_dir:[10,11],retain:7,reticul:10,retriev:[7,11],retrysleep:10,retun:11,returncod:10,revert:[1,2,11],revert_fil:11,revert_recip:11,revis:11,revisor:4,revpars:11,rexist:10,rglob:10,rhel7:[3,5,11],rhel:5,rng:5,root:[1,2,4,5,6,7,10,11],root_dir:11,rootdir:10,rootf:[5,6,10],rootfs_imag:10,rootfs_siz:6,rootm:5,rootpw:[5,11],roughli:10,round:[10,11],round_to_block:10,rout:[0,7,10],rpm:[4,5,7,10,11],rpmbuild:11,rpmfluff:11,rpmname:[7,11],rpmreleas:[7,11],rpmversion:[7,11],rtype:11,rule:11,run:[1,2,5,7,9,10,11],run_creat:10,run_pkg_transact:[6,10],runcmd:[6,10],runcmd_output:10,rundir:10,runner:10,runtim:[5,9,10],runtimebuild:[9,10],runtimeerror:[0,10,11],rxxx:11,s390x:10,safe:[7,10],samba:11,same:[5,6,7,10,11],sampl:10,satisfi:11,save:[0,1,2,6,7,10,11],sbin:[5,10],scene:7,script:[4,5,10,11],scriptlet:10,search:[3,10,11],second:[5,11],secondari:7,section:[5,7,10,11],secur:1,see:[5,10,11],seem:10,select:[1,2,5,6,7,10,11],self:[7,10,11],selinux:[5,7,10],semver:[7,11],send:[0,1],separ:[2,10,11],sequenc:10,server:[0,1,2,7,8,10],servic:[6,10,11],services_cmd:11,set:[2,4,5,6,7,10,11],setenforc:6,setenv:10,setup:[5,6,7,10,11],setup_log:10,sever:[5,9,11],sha256:5,shallow:10,share:[5,6,7,9,10,11],share_dir:11,sharedir:[6,7,10],shell:7,ship:6,shlex:10,shortnam:10,should:[0,5,6,7,10,11],should_exit_now:2,show:[1,2,5,6,7,10],show_json:2,shutdown:[5,10],sig:11,sig_dfl:10,sig_ign:10,sign:[7,10,11],signal:10,signific:7,similar:[6,7],simpl:[2,6,7],simple_test:10,simplerpmbuild:11,simpli:7,simul:2,sinc:[5,7,11],singl:[2,5,11],singleton:10,site:5,situat:7,size:[1,2,5,6,10,11],skip:[5,10,11],skip_rul:11,slice:11,slightli:5,slow:5,small:10,smp:5,socket:[0,1,2,7],socket_path:[0,2],socketserv:10,softwar:11,solut:5,solv:11,some:[0,4,5,6,7,10,11],someplac:7,someth:[4,5,7,10,11],sometim:5,sort:[6,11],sound:[6,10],sourc:[0,1,6,8,10,11],source_glob:11,source_nam:11,source_path:11,source_ref:11,source_to_repo:11,sources_add:2,sources_cmd:2,sources_delet:2,sources_info:2,sources_list:2,sourcesdir:11,space:[2,6,7,10,11],sparingli:11,spars:[5,10],speak:[4,6],spec:11,special:[6,11],specif:[5,6,7,9,10,11],specifi:[0,5,7,10,11],speed:5,spin:5,spline:10,split:10,split_and_expand:10,squashf:[5,10],squashfs_arg:[5,10],squashfs_onli:10,src:[3,5,10],srcdir:10,srcglob:10,srv:7,ssh:[5,7,11],sshd:[5,7],sshkei:11,ssl:[6,10],sslverifi:10,stage2:10,stage:[4,5],standard:[10,11],start:[1,2,5,6,7,10,11],start_build:11,start_queue_monitor:11,startprogram:10,startup:7,state:[1,5,7,10,11],statement:10,statu:[0,7,8,10],status_cmd:2,status_filt:11,stderr:10,stdin:10,stdout:[10,11],step:[4,5],stick:7,still:[5,7,10],stop:[5,7],storag:[1,2,5,7,10,11],store:[5,6,7,10,11],str1:2,str2:2,str:[0,2,10,11],strang:5,stream:11,strict:11,strictli:6,string:[0,2,7,10,11],string_low:10,stuck:5,stuff:5,style:10,sub:10,subclass:11,subdirectori:11,submit:11,submodul:8,submount:10,subpackag:8,subprocess:10,subset:11,substitut:[5,6],succe:11,success:[10,11],sudo:[5,7],suffix:10,suit:[1,7],suitabl:[10,11],summari:[7,11],support:[1,2,4,5,6,9,11],sure:[5,7,10,11],suspect:5,swap:5,symlink:[6,10,11],sys:[2,10],sys_root_dir:10,sysimag:10,syslinux:5,sysroot:10,system:[1,5,6,7,10,11],system_sourc:11,systemctl:[6,7,10],systemd:[5,6,7,10],sysutil:8,tag:[1,2,6,7,11],tag_file_commit:11,tag_recipe_commit:11,tail:11,take:[2,5,7,9,10,11],take_limit:11,talk:[0,2],tar:[1,2,7,11],tar_disk_nam:5,tar_img:10,tarbal:10,tarfil:[5,10],target:[5,6,10],tcp:[7,10],tcpserver:10,tear:11,tegra:5,tell:6,telnet:7,telnetd:7,tempdir:10,templat:[4,5,7,9,10,11],template_fil:10,templatedir:10,templatefil:10,templaterunn:10,temporari:[1,2,4,5,6,7,10,11],termin:[5,10],test:[1,5,7,11],test_config:11,test_mod:11,test_templ:11,testmod:[1,2],text:[6,7,11],textiowrapp:10,than:[5,7,10,11],thei:[1,5,6,7,11],thelogg:10,them:[4,6,7,10,11],therefor:7,thi:[0,1,2,5,6,7,9,10,11],thing:[4,5,10,11],those:[4,9,11],though:[4,11],thread:[5,7,10,11],three:[2,7],thu:10,ti_don:10,ti_tot:10,time:[5,6,7,9,10,11],timedatectl:7,timeout:[0,5,10],timestamp:[8,10],timestamp_dict:11,timezon:11,timezone_cmd:11,titl:[5,10,11],tmp:[5,6,7,10,11],tmpdir:[10,11],tmpl:[9,10,11],to_commit:11,token:10,told:6,toml:[0,1,2,7,8,10],toml_dict:11,toml_filenam:2,tomldecodeerror:11,tomlerror:11,tool:[1,4,5,6],top:[5,6,7,9,10,11],total:[5,11],total_drpm:10,total_fil:10,total_fn:0,total_s:10,touch:10,trace:10,traceback:10,track:[1,11],trail:11,transact:10,transactionprogress:10,transmogrifi:10,trash:5,treat:[7,10],tree:[4,5,6,9,10,11],treebuild:[8,9,11],treeinfo:[6,8],tri:[5,10,11],truckin:10,ts_done:10,ts_total:10,tty1:5,tty3:5,tui:5,tupl:[2,10,11],turn:4,two:[2,11],type:[0,1,2,5,10],typic:10,udev_escap:10,udp:7,uid:[7,11],umask:10,umount:[5,7,10],uncompress:11,undelet:11,under:[5,6,7,10,11],understand:7,undo:[1,2,11],unicodedecodeerror:10,uniqu:11,unit:[7,10],unix:[0,2,7,11],unix_socket:8,unixhttpconnect:0,unixhttpconnectionpool:0,unknown:10,unless:11,unmaintain:4,unmount:[5,10],unneed:[4,6,7,10,11],unpack:4,until:[7,10],untouch:10,unus:[2,5],upd:4,updat:[2,3,5,6,7,10,11],update_vagrant_metadata:10,upgrad:10,upload:[5,7],upstream:11,upstream_vc:11,url:[0,5,6,7,10,11],url_prefix:11,urllib3:0,usabl:5,usag:[1,5,6,7,10],usbutil:10,use:[0,1,2,5,6,7,10,11],used:[1,2,4,5,6,7,10,11],useful:[5,10],user:[1,2,10,11],user_dracut_arg:10,useradd:7,uses:[5,6,7,10,11],using:[1,2,5,6,7,9,10,11],usr:[5,6,7,9,10,11],usual:[5,7,11],utc:[7,11],utf:[7,10],util:[0,5,8],uuid:[1,2,7,11],uuid_cancel:11,uuid_delet:11,uuid_dir:11,uuid_imag:11,uuid_info:11,uuid_log:11,uuid_statu:11,uuid_tar:11,v0_api:11,v0_blueprints_chang:11,v0_blueprints_delet:11,v0_blueprints_delete_workspac:11,v0_blueprints_depsolv:11,v0_blueprints_diff:11,v0_blueprints_freez:11,v0_blueprints_info:11,v0_blueprints_list:11,v0_blueprints_new:11,v0_blueprints_tag:11,v0_blueprints_undo:11,v0_blueprints_workspac:11,v0_compose_cancel:11,v0_compose_delet:11,v0_compose_fail:11,v0_compose_finish:11,v0_compose_imag:11,v0_compose_info:11,v0_compose_log:11,v0_compose_log_tail:11,v0_compose_metadata:11,v0_compose_queu:11,v0_compose_result:11,v0_compose_start:11,v0_compose_statu:11,v0_compose_typ:11,v0_modules_info:11,v0_modules_list:11,v0_projects_depsolv:11,v0_projects_info:11,v0_projects_list:11,v0_projects_source_delet:11,v0_projects_source_info:11,v0_projects_source_list:11,v0_projects_source_new:11,vagrant:10,vagrant_metadata:5,vagrantfil:5,valid:[7,10,11],valu:[2,5,7,10,11],valueerror:11,valuetok:10,variabl:[5,6,10],variant:[6,10],variou:[10,11],vcpu:[5,10],verbatim:5,veri:5,verifi:[1,6,10],version:[0,1,2,4,5,6,7,10,11],vhd:1,via:[5,6,7],video:10,view:[1,11],view_func:11,virt:[10,11],virt_instal:10,virtio:10,virtio_consol:10,virtio_host:10,virtio_port:10,virtual:[5,10],vmdk:1,vmlinuz:[5,10],vnc:[5,10],volid:[5,6,10],volum:[5,6],wai:[2,5,7,11],wait:[1,10,11],want:[5,7,11],warfar:11,warn:[10,11],wasn:5,watch:5,web:[5,7],websit:5,weight:6,welcom:5,welder:7,weldr:[1,7,11],well:[5,6,7,11],were:[10,11],what:[0,4,5,6,7,10,11],whatev:11,wheel:[5,7],when:[5,6,7,10,11],whenev:10,where:[1,5,6,7,10,11],whether:[2,10,11],which:[1,2,4,5,6,7,9,10,11],whitespac:10,who:5,whole:10,widest:7,widget:7,wildcard:7,winnt:10,with_cor:11,with_rng:5,without:[5,6,7,11],word:10,work:[10,11],work_dir:10,workdir:[6,10],workflow:4,workspac:[1,2,8,10],workspace_delet:11,workspace_dir:11,workspace_read:11,workspace_writ:11,world:5,would:[5,7,9,10],wrapper:11,write:[4,10,11],write_commit:11,write_fil:11,write_ks_group:11,write_ks_root:11,write_ks_us:11,write_timestamp:11,writepkglist:10,writepkgs:10,written:[4,5,7,10],wrong:10,wrote:11,wwood:10,www:11,x86:[6,9,10,11],x86_64:[5,6,10,11],xattr:10,xfce:5,xfsprog:10,xml:5,xorrisof:6,xxxx:5,xxxxx:5,yield:11,you:[1,5,6,7,9,10,11],your:[5,6,7,9,11],yourdomain:5,yum:[4,5,7,11],yumbas:11,yumlock:11,zero:[10,11],zerombr:5},titles:["composer package","composer-cli","composer.cli package","Welcome to Lorax's documentation!","Introduction to Lorax","livemedia-creator","Lorax","lorax-composer","src","Product and Updates Images","pylorax package","pylorax.api package"],titleterms:{"import":7,"new":11,Adding:[7,11],The:6,Using:5,add:7,ami:5,anaconda:5,api:11,applianc:5,argument:[1,5,6,7],atom:5,base:10,befor:4,bisect:11,blueprint:[1,2,7],boot:5,branch:3,build:1,buildstamp:10,checkparam:11,cleanup:6,cli:[1,2],cmdline:[1,2,5,6,7,10,11],compos:[0,1,2,7,11],config:11,contain:5,content:[0,2,10,11],creat:5,creation:[5,6],creator:[5,10],custom:[6,7],debug:5,decor:10,discinfo:10,disk:[5,7],dnfbase:[10,11],dnfhelper:10,docker:5,document:3,download:1,dracut:[5,6],dvd:7,edit:1,error:11,exampl:7,executil:10,file:5,filesystem:[5,6],firewal:7,flask_blueprint:11,git:7,gitrpm:11,group:7,hack:5,help:2,how:[5,6,7],http_client:0,imag:[1,5,7,9],imgutil:10,indic:3,initi:5,insid:6,instal:[5,6,7,10],introduct:4,iso:[5,6,7],kernel:7,kickstart:5,live:5,livemedia:5,local:7,log:7,lorax:[3,4,6,7],ltmpl:10,mock:[5,6],modul:[0,2,7,10,11],monitor:[1,10],mount:10,name:[1,5,6,7],note:7,oci:5,open:5,openstack:5,other:3,output:[7,10,11],packag:[0,2,7,10,11],partit:7,posit:[1,6,7],postinstal:6,problem:5,product:9,project:[2,11],proxi:5,pxe:5,pylorax:[10,11],qemu:5,queue:11,quickstart:[5,6,7],recip:11,regex:11,repo:[5,7],repositori:5,requir:6,respons:11,rout:11,run:6,runtim:6,secur:7,server:11,servic:7,sourc:[2,7],squashf:6,src:8,sshkei:7,statu:[1,2,11],submodul:[0,2,10,11],subpackag:[0,10],support:7,sysutil:10,tabl:3,tar:5,templat:6,thing:7,timestamp:11,timezon:7,tmpl:6,toml:11,treebuild:10,treeinfo:10,type:[7,11],uefi:5,unix_socket:0,updat:9,user:[5,7],util:2,vagrant:5,virt:5,welcom:3,work:[5,6,7],workspac:11}}) \ No newline at end of file +Search.setIndex({docnames:["composer","composer-cli","composer.cli","index","intro","livemedia-creator","lorax","lorax-composer","modules","product-images","pylorax","pylorax.api"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["composer.rst","composer-cli.rst","composer.cli.rst","index.rst","intro.rst","livemedia-creator.rst","lorax.rst","lorax-composer.rst","modules.rst","product-images.rst","pylorax.rst","pylorax.api.rst"],objects:{"":{composer:[0,0,0,"-"],pylorax:[10,0,0,"-"]},"composer.cli":{blueprints:[2,0,0,"-"],cmdline:[2,0,0,"-"],compose:[2,0,0,"-"],help:[2,0,0,"-"],main:[2,1,1,""],modules:[2,0,0,"-"],projects:[2,0,0,"-"],sources:[2,0,0,"-"],status:[2,0,0,"-"],utilities:[2,0,0,"-"]},"composer.cli.blueprints":{blueprints_changes:[2,1,1,""],blueprints_cmd:[2,1,1,""],blueprints_delete:[2,1,1,""],blueprints_depsolve:[2,1,1,""],blueprints_diff:[2,1,1,""],blueprints_freeze:[2,1,1,""],blueprints_freeze_save:[2,1,1,""],blueprints_freeze_show:[2,1,1,""],blueprints_list:[2,1,1,""],blueprints_push:[2,1,1,""],blueprints_save:[2,1,1,""],blueprints_show:[2,1,1,""],blueprints_tag:[2,1,1,""],blueprints_undo:[2,1,1,""],blueprints_workspace:[2,1,1,""],dict_names:[2,1,1,""],prettyCommitDetails:[2,1,1,""],pretty_dict:[2,1,1,""],pretty_diff_entry:[2,1,1,""]},"composer.cli.cmdline":{composer_cli_parser:[2,1,1,""]},"composer.cli.compose":{compose_cancel:[2,1,1,""],compose_cmd:[2,1,1,""],compose_delete:[2,1,1,""],compose_image:[2,1,1,""],compose_info:[2,1,1,""],compose_list:[2,1,1,""],compose_log:[2,1,1,""],compose_logs:[2,1,1,""],compose_metadata:[2,1,1,""],compose_results:[2,1,1,""],compose_start:[2,1,1,""],compose_status:[2,1,1,""],compose_types:[2,1,1,""]},"composer.cli.modules":{modules_cmd:[2,1,1,""]},"composer.cli.projects":{projects_cmd:[2,1,1,""],projects_info:[2,1,1,""],projects_list:[2,1,1,""]},"composer.cli.sources":{sources_add:[2,1,1,""],sources_cmd:[2,1,1,""],sources_delete:[2,1,1,""],sources_info:[2,1,1,""],sources_list:[2,1,1,""]},"composer.cli.status":{status_cmd:[2,1,1,""]},"composer.cli.utilities":{argify:[2,1,1,""],frozen_toml_filename:[2,1,1,""],handle_api_result:[2,1,1,""],packageNEVRA:[2,1,1,""],toml_filename:[2,1,1,""]},"composer.http_client":{api_url:[0,1,1,""],append_query:[0,1,1,""],delete_url_json:[0,1,1,""],download_file:[0,1,1,""],get_filename:[0,1,1,""],get_url_json:[0,1,1,""],get_url_json_unlimited:[0,1,1,""],get_url_raw:[0,1,1,""],post_url:[0,1,1,""],post_url_json:[0,1,1,""],post_url_toml:[0,1,1,""]},"composer.unix_socket":{UnixHTTPConnection:[0,2,1,""],UnixHTTPConnectionPool:[0,2,1,""]},"composer.unix_socket.UnixHTTPConnection":{connect:[0,3,1,""]},"pylorax.ArchData":{bcj_arch:[10,4,1,""],lib64_arches:[10,4,1,""]},"pylorax.Lorax":{configure:[10,3,1,""],init_file_logging:[10,3,1,""],init_stream_logging:[10,3,1,""],run:[10,3,1,""],templatedir:[10,3,1,""]},"pylorax.api":{bisect:[11,0,0,"-"],checkparams:[11,0,0,"-"],cmdline:[11,0,0,"-"],compose:[11,0,0,"-"],config:[11,0,0,"-"],dnfbase:[11,0,0,"-"],errors:[11,0,0,"-"],flask_blueprint:[11,0,0,"-"],gitrpm:[11,0,0,"-"],projects:[11,0,0,"-"],queue:[11,0,0,"-"],recipes:[11,0,0,"-"],regexes:[11,0,0,"-"],server:[11,0,0,"-"],timestamp:[11,0,0,"-"],toml:[11,0,0,"-"],utils:[11,0,0,"-"],v0:[11,0,0,"-"],v1:[11,0,0,"-"],workspace:[11,0,0,"-"]},"pylorax.api.bisect":{insort_left:[11,1,1,""]},"pylorax.api.checkparams":{checkparams:[11,1,1,""]},"pylorax.api.cmdline":{lorax_composer_parser:[11,1,1,""]},"pylorax.api.compose":{add_customizations:[11,1,1,""],bootloader_append:[11,1,1,""],compose_args:[11,1,1,""],compose_types:[11,1,1,""],customize_ks_template:[11,1,1,""],firewall_cmd:[11,1,1,""],get_default_services:[11,1,1,""],get_extra_pkgs:[11,1,1,""],get_firewall_settings:[11,1,1,""],get_kernel_append:[11,1,1,""],get_keyboard_layout:[11,1,1,""],get_languages:[11,1,1,""],get_services:[11,1,1,""],get_timezone_settings:[11,1,1,""],keyboard_cmd:[11,1,1,""],lang_cmd:[11,1,1,""],move_compose_results:[11,1,1,""],repo_to_ks:[11,1,1,""],services_cmd:[11,1,1,""],start_build:[11,1,1,""],test_templates:[11,1,1,""],timezone_cmd:[11,1,1,""],write_ks_group:[11,1,1,""],write_ks_root:[11,1,1,""],write_ks_user:[11,1,1,""]},"pylorax.api.config":{ComposerConfig:[11,2,1,""],configure:[11,1,1,""],make_dnf_dirs:[11,1,1,""],make_owned_dir:[11,1,1,""],make_queue_dirs:[11,1,1,""]},"pylorax.api.config.ComposerConfig":{get_default:[11,3,1,""]},"pylorax.api.dnfbase":{DNFLock:[11,2,1,""],get_base_object:[11,1,1,""]},"pylorax.api.dnfbase.DNFLock":{lock:[11,3,1,""],lock_check:[11,3,1,""]},"pylorax.api.flask_blueprint":{BlueprintSetupStateSkip:[11,2,1,""],BlueprintSkip:[11,2,1,""]},"pylorax.api.flask_blueprint.BlueprintSetupStateSkip":{add_url_rule:[11,3,1,""]},"pylorax.api.flask_blueprint.BlueprintSkip":{make_setup_state:[11,3,1,""]},"pylorax.api.gitrpm":{GitArchiveTarball:[11,2,1,""],GitRpmBuild:[11,2,1,""],create_gitrpm_repo:[11,1,1,""],get_repo_description:[11,1,1,""],make_git_rpm:[11,1,1,""]},"pylorax.api.gitrpm.GitArchiveTarball":{write_file:[11,3,1,""]},"pylorax.api.gitrpm.GitRpmBuild":{add_git_tarball:[11,3,1,""],check:[11,3,1,""],clean:[11,3,1,""],cleanup_tmpdir:[11,3,1,""],get_base_dir:[11,3,1,""]},"pylorax.api.projects":{ProjectsError:[11,5,1,""],api_changelog:[11,1,1,""],api_time:[11,1,1,""],delete_repo_source:[11,1,1,""],dep_evra:[11,1,1,""],dep_nevra:[11,1,1,""],dnf_repo_to_file_repo:[11,1,1,""],estimate_size:[11,1,1,""],get_repo_sources:[11,1,1,""],get_source_ids:[11,1,1,""],modules_info:[11,1,1,""],modules_list:[11,1,1,""],new_repo_source:[11,1,1,""],pkg_to_build:[11,1,1,""],pkg_to_dep:[11,1,1,""],pkg_to_project:[11,1,1,""],pkg_to_project_info:[11,1,1,""],proj_to_module:[11,1,1,""],projects_depsolve:[11,1,1,""],projects_depsolve_with_size:[11,1,1,""],projects_info:[11,1,1,""],projects_list:[11,1,1,""],repo_to_source:[11,1,1,""],source_to_repo:[11,1,1,""],source_to_repodict:[11,1,1,""]},"pylorax.api.queue":{build_status:[11,1,1,""],check_queues:[11,1,1,""],compose_detail:[11,1,1,""],get_compose_type:[11,1,1,""],get_image_name:[11,1,1,""],make_compose:[11,1,1,""],monitor:[11,1,1,""],queue_status:[11,1,1,""],start_queue_monitor:[11,1,1,""],uuid_cancel:[11,1,1,""],uuid_delete:[11,1,1,""],uuid_image:[11,1,1,""],uuid_info:[11,1,1,""],uuid_log:[11,1,1,""],uuid_status:[11,1,1,""],uuid_tar:[11,1,1,""]},"pylorax.api.recipes":{CommitDetails:[11,2,1,""],CommitTimeValError:[11,5,1,""],NewRecipeGit:[11,1,1,""],Recipe:[11,2,1,""],RecipeError:[11,5,1,""],RecipeFileError:[11,5,1,""],RecipeGit:[11,2,1,""],RecipeGroup:[11,2,1,""],RecipeModule:[11,2,1,""],RecipePackage:[11,2,1,""],check_list_case:[11,1,1,""],check_recipe_dict:[11,1,1,""],check_required_list:[11,1,1,""],commit_recipe:[11,1,1,""],commit_recipe_directory:[11,1,1,""],commit_recipe_file:[11,1,1,""],customizations_diff:[11,1,1,""],delete_file:[11,1,1,""],delete_recipe:[11,1,1,""],diff_lists:[11,1,1,""],find_commit_tag:[11,1,1,""],find_field_value:[11,1,1,""],find_name:[11,1,1,""],find_recipe_obj:[11,1,1,""],get_commit_details:[11,1,1,""],get_revision_from_tag:[11,1,1,""],gfile:[11,1,1,""],head_commit:[11,1,1,""],is_commit_tag:[11,1,1,""],is_parent_diff:[11,1,1,""],list_branch_files:[11,1,1,""],list_commit_files:[11,1,1,""],list_commits:[11,1,1,""],open_or_create_repo:[11,1,1,""],prepare_commit:[11,1,1,""],read_commit:[11,1,1,""],read_commit_spec:[11,1,1,""],read_recipe_and_id:[11,1,1,""],read_recipe_commit:[11,1,1,""],recipe_diff:[11,1,1,""],recipe_filename:[11,1,1,""],recipe_from_dict:[11,1,1,""],recipe_from_file:[11,1,1,""],recipe_from_toml:[11,1,1,""],repo_file_exists:[11,1,1,""],revert_file:[11,1,1,""],revert_recipe:[11,1,1,""],tag_file_commit:[11,1,1,""],tag_recipe_commit:[11,1,1,""],write_commit:[11,1,1,""]},"pylorax.api.recipes.Recipe":{bump_version:[11,3,1,""],filename:[11,3,1,""],freeze:[11,3,1,""],group_names:[11,3,1,""],module_names:[11,3,1,""],module_nver:[11,3,1,""],package_names:[11,3,1,""],package_nver:[11,3,1,""],toml:[11,3,1,""]},"pylorax.api.server":{GitLock:[11,2,1,""]},"pylorax.api.server.GitLock":{dir:[11,4,1,""],lock:[11,4,1,""],repo:[11,4,1,""]},"pylorax.api.timestamp":{timestamp_dict:[11,1,1,""],write_timestamp:[11,1,1,""]},"pylorax.api.toml":{TomlError:[11,5,1,""],dumps:[11,1,1,""],loads:[11,1,1,""]},"pylorax.api.utils":{blueprint_exists:[11,1,1,""],take_limits:[11,1,1,""]},"pylorax.api.v0":{v0_blueprints_changes:[11,1,1,""],v0_blueprints_delete:[11,1,1,""],v0_blueprints_delete_workspace:[11,1,1,""],v0_blueprints_depsolve:[11,1,1,""],v0_blueprints_diff:[11,1,1,""],v0_blueprints_freeze:[11,1,1,""],v0_blueprints_info:[11,1,1,""],v0_blueprints_list:[11,1,1,""],v0_blueprints_new:[11,1,1,""],v0_blueprints_tag:[11,1,1,""],v0_blueprints_undo:[11,1,1,""],v0_blueprints_workspace:[11,1,1,""],v0_compose_cancel:[11,1,1,""],v0_compose_delete:[11,1,1,""],v0_compose_failed:[11,1,1,""],v0_compose_finished:[11,1,1,""],v0_compose_image:[11,1,1,""],v0_compose_info:[11,1,1,""],v0_compose_log_tail:[11,1,1,""],v0_compose_logs:[11,1,1,""],v0_compose_metadata:[11,1,1,""],v0_compose_queue:[11,1,1,""],v0_compose_results:[11,1,1,""],v0_compose_start:[11,1,1,""],v0_compose_status:[11,1,1,""],v0_compose_types:[11,1,1,""],v0_modules_info:[11,1,1,""],v0_modules_list:[11,1,1,""],v0_projects_depsolve:[11,1,1,""],v0_projects_info:[11,1,1,""],v0_projects_list:[11,1,1,""],v0_projects_source_delete:[11,1,1,""],v0_projects_source_info:[11,1,1,""],v0_projects_source_list:[11,1,1,""],v0_projects_source_new:[11,1,1,""]},"pylorax.api.v1":{v1_projects_source_info:[11,1,1,""],v1_projects_source_new:[11,1,1,""]},"pylorax.api.workspace":{workspace_delete:[11,1,1,""],workspace_dir:[11,1,1,""],workspace_read:[11,1,1,""],workspace_write:[11,1,1,""]},"pylorax.base":{BaseLoraxClass:[10,2,1,""],DataHolder:[10,2,1,""]},"pylorax.base.BaseLoraxClass":{pcritical:[10,3,1,""],pdebug:[10,3,1,""],perror:[10,3,1,""],pinfo:[10,3,1,""],pwarning:[10,3,1,""]},"pylorax.base.DataHolder":{copy:[10,3,1,""]},"pylorax.buildstamp":{BuildStamp:[10,2,1,""]},"pylorax.buildstamp.BuildStamp":{write:[10,3,1,""]},"pylorax.cmdline":{lmc_parser:[10,1,1,""],lorax_parser:[10,1,1,""]},"pylorax.creator":{FakeDNF:[10,2,1,""],calculate_disk_size:[10,1,1,""],check_kickstart:[10,1,1,""],create_pxe_config:[10,1,1,""],find_ostree_root:[10,1,1,""],get_arch:[10,1,1,""],is_image_mounted:[10,1,1,""],make_appliance:[10,1,1,""],make_image:[10,1,1,""],make_live_images:[10,1,1,""],make_livecd:[10,1,1,""],make_runtime:[10,1,1,""],mount_boot_part_over_root:[10,1,1,""],rebuild_initrds_for_live:[10,1,1,""],run_creator:[10,1,1,""],squashfs_args:[10,1,1,""]},"pylorax.creator.FakeDNF":{reset:[10,3,1,""]},"pylorax.decorators":{singleton:[10,1,1,""]},"pylorax.discinfo":{DiscInfo:[10,2,1,""]},"pylorax.discinfo.DiscInfo":{write:[10,3,1,""]},"pylorax.dnfbase":{get_dnf_base_object:[10,1,1,""]},"pylorax.dnfhelper":{LoraxDownloadCallback:[10,2,1,""],LoraxRpmCallback:[10,2,1,""]},"pylorax.dnfhelper.LoraxDownloadCallback":{end:[10,3,1,""],progress:[10,3,1,""],start:[10,3,1,""]},"pylorax.dnfhelper.LoraxRpmCallback":{error:[10,3,1,""],progress:[10,3,1,""]},"pylorax.executils":{ExecProduct:[10,2,1,""],augmentEnv:[10,1,1,""],execReadlines:[10,1,1,""],execWithCapture:[10,1,1,""],execWithRedirect:[10,1,1,""],runcmd:[10,1,1,""],runcmd_output:[10,1,1,""],setenv:[10,1,1,""],startProgram:[10,1,1,""]},"pylorax.imgutils":{DMDev:[10,2,1,""],LoopDev:[10,2,1,""],Mount:[10,2,1,""],PartitionMount:[10,2,1,""],compress:[10,1,1,""],copytree:[10,1,1,""],default_image_name:[10,1,1,""],dm_attach:[10,1,1,""],dm_detach:[10,1,1,""],do_grafts:[10,1,1,""],estimate_size:[10,1,1,""],get_loop_name:[10,1,1,""],kpartx_disk_img:[10,1,1,""],loop_attach:[10,1,1,""],loop_detach:[10,1,1,""],loop_waitfor:[10,1,1,""],mkbtrfsimg:[10,1,1,""],mkcpio:[10,1,1,""],mkdosimg:[10,1,1,""],mkext4img:[10,1,1,""],mkfsimage:[10,1,1,""],mkfsimage_from_disk:[10,1,1,""],mkhfsimg:[10,1,1,""],mkqcow2:[10,1,1,""],mkqemu_img:[10,1,1,""],mkrootfsimg:[10,1,1,""],mksparse:[10,1,1,""],mksquashfs:[10,1,1,""],mktar:[10,1,1,""],mount:[10,1,1,""],round_to_blocks:[10,1,1,""],umount:[10,1,1,""]},"pylorax.installer":{InstallError:[10,5,1,""],QEMUInstall:[10,2,1,""],anaconda_cleanup:[10,1,1,""],append_initrd:[10,1,1,""],create_vagrant_metadata:[10,1,1,""],find_free_port:[10,1,1,""],novirt_cancel_check:[10,1,1,""],novirt_install:[10,1,1,""],update_vagrant_metadata:[10,1,1,""],virt_install:[10,1,1,""]},"pylorax.installer.QEMUInstall":{QEMU_CMDS:[10,4,1,""]},"pylorax.ltmpl":{LiveTemplateRunner:[10,2,1,""],LoraxTemplate:[10,2,1,""],LoraxTemplateRunner:[10,2,1,""],TemplateRunner:[10,2,1,""],brace_expand:[10,1,1,""],rexists:[10,1,1,""],rglob:[10,1,1,""],split_and_expand:[10,1,1,""]},"pylorax.ltmpl.LiveTemplateRunner":{installpkg:[10,3,1,""]},"pylorax.ltmpl.LoraxTemplate":{parse:[10,3,1,""]},"pylorax.ltmpl.LoraxTemplateRunner":{append:[10,3,1,""],chmod:[10,3,1,""],copy:[10,3,1,""],createaddrsize:[10,3,1,""],hardlink:[10,3,1,""],install:[10,3,1,""],installimg:[10,3,1,""],installinitrd:[10,3,1,""],installkernel:[10,3,1,""],installpkg:[10,3,1,""],installupgradeinitrd:[10,3,1,""],log:[10,3,1,""],mkdir:[10,3,1,""],move:[10,3,1,""],remove:[10,3,1,""],removefrom:[10,3,1,""],removekmod:[10,3,1,""],removepkg:[10,3,1,""],replace:[10,3,1,""],run_pkg_transaction:[10,3,1,""],runcmd:[10,3,1,""],symlink:[10,3,1,""],systemctl:[10,3,1,""],treeinfo:[10,3,1,""]},"pylorax.ltmpl.TemplateRunner":{run:[10,3,1,""]},"pylorax.monitor":{LogMonitor:[10,2,1,""],LogRequestHandler:[10,2,1,""],LogServer:[10,2,1,""]},"pylorax.monitor.LogMonitor":{shutdown:[10,3,1,""]},"pylorax.monitor.LogRequestHandler":{finish:[10,3,1,""],handle:[10,3,1,""],iserror:[10,3,1,""],re_tests:[10,4,1,""],setup:[10,3,1,""],simple_tests:[10,4,1,""]},"pylorax.monitor.LogServer":{log_check:[10,3,1,""],timeout:[10,4,1,""]},"pylorax.mount":{IsoMountpoint:[10,2,1,""]},"pylorax.mount.IsoMountpoint":{get_iso_label:[10,3,1,""],umount:[10,3,1,""]},"pylorax.sysutils":{chmod_:[10,1,1,""],chown_:[10,1,1,""],joinpaths:[10,1,1,""],linktree:[10,1,1,""],remove:[10,1,1,""],replace:[10,1,1,""],touch:[10,1,1,""]},"pylorax.treebuilder":{RuntimeBuilder:[10,2,1,""],TreeBuilder:[10,2,1,""],findkernels:[10,1,1,""],generate_module_info:[10,1,1,""],string_lower:[10,1,1,""],udev_escape:[10,1,1,""]},"pylorax.treebuilder.RuntimeBuilder":{cleanup:[10,3,1,""],create_ext4_runtime:[10,3,1,""],create_squashfs_runtime:[10,3,1,""],finished:[10,3,1,""],generate_module_data:[10,3,1,""],install:[10,3,1,""],postinstall:[10,3,1,""],verify:[10,3,1,""],writepkglists:[10,3,1,""],writepkgsizes:[10,3,1,""]},"pylorax.treebuilder.TreeBuilder":{build:[10,3,1,""],copy_dracut_hooks:[10,3,1,""],dracut_hooks_path:[10,3,1,""],implantisomd5:[10,3,1,""],kernels:[10,3,1,""],rebuild_initrds:[10,3,1,""]},"pylorax.treeinfo":{TreeInfo:[10,2,1,""]},"pylorax.treeinfo.TreeInfo":{add_section:[10,3,1,""],write:[10,3,1,""]},composer:{cli:[2,0,0,"-"],http_client:[0,0,0,"-"],unix_socket:[0,0,0,"-"]},pylorax:{ArchData:[10,2,1,""],Lorax:[10,2,1,""],api:[11,0,0,"-"],base:[10,0,0,"-"],buildstamp:[10,0,0,"-"],cmdline:[10,0,0,"-"],creator:[10,0,0,"-"],decorators:[10,0,0,"-"],discinfo:[10,0,0,"-"],dnfbase:[10,0,0,"-"],dnfhelper:[10,0,0,"-"],executils:[10,0,0,"-"],find_templates:[10,1,1,""],get_buildarch:[10,1,1,""],imgutils:[10,0,0,"-"],installer:[10,0,0,"-"],log_selinux_state:[10,1,1,""],ltmpl:[10,0,0,"-"],monitor:[10,0,0,"-"],mount:[10,0,0,"-"],output:[10,0,0,"-"],setup_logging:[10,1,1,""],sysutils:[10,0,0,"-"],treebuilder:[10,0,0,"-"],treeinfo:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute","5":"py:exception"},terms:{"01t08":11,"03374adbf080fe34f5c6c29f2e49cc2b86958bf2":11,"03397f8d":11,"06e8":11,"08t00":11,"0ad":11,"0e08ecbb708675bfabc82952599a1712a843779d":11,"0instal":11,"10t23":11,"11t00":11,"11t01":11,"13z":11,"1kb":2,"23t00":11,"28z":11,"29b492f26ed35d80800b536623bafc51e2f0eff2":11,"2b4174b3614b":11,"2ping":11,"30z":11,"3700mib":10,"3726a1093fd0":11,"397f":11,"3e11eb87a63d289662cba4b1804a0947a6843379":11,"3rn8evie2t50lmvybyihtgvrhcaecmeck31l":7,"41ef9c3e4b73":11,"44c0":11,"45502a6d":11,"45e380f39894":11,"47z":11,"48a5":11,"4a23":11,"4af9":11,"4b70":11,"4b8a":11,"4c68":11,"4c9f":11,"4cdb":11,"523b":11,"52z":11,"56z":11,"61b799739ce8":11,"6d292bd0":11,"7078e521a54b12eae31c3fd028680da7a0815a4d":11,"70b84195":11,"745712b2":11,"7f16":11,"870f":11,"8c8435ef":11,"8d7d":11,"96db":11,"99anaconda":10,"9bf1":11,"9c81":11,"byte":11,"case":[7,11],"catch":[5,10],"char":10,"class":[0,9,10,11],"default":[1,5,6,7,10,11],"final":[1,4,5,6,7,9,10,11],"function":[2,7,10,11],"import":[5,10,11],"int":[2,10,11],"new":[0,1,2,4,5,6,7,10],"null":[5,11],"public":[5,7],"return":[0,1,2,7,10,11],"short":[7,11],"switch":5,"true":[0,2,5,6,7,10,11],"try":[5,10,11],"var":[5,6,7,10],"while":[7,9,10,11],ADDING:10,Adding:10,And:5,But:[5,7],For:[0,5,7,10,11],Its:[4,6],NOT:11,Not:10,One:[5,7],RTS:11,The:[0,1,2,4,5,7,9,10,11],There:[5,7,10,11],These:[7,9,11],Use:[5,6,10,11],Used:[5,10,11],Uses:11,Using:11,Will:10,Yes:10,__init__:0,_io:10,_map:7,a215:11,a2ef832e6b1a:11,a697ca405cdf:11,aarch64:[6,9,10],abbrevi:5,abl:[6,7],abort:5,about:[1,2,5,11],abov:5,absolut:10,accept:7,access:[5,7,11],accomplish:5,account:[7,10],acff:11,acl:[10,11],action:10,activ:[5,7],actual:[10,11],ad52:11,add2636e7459:11,add:[0,1,2,5,6,9,10,11],add_arch_templ:[6,10],add_arch_template_var:[6,10],add_arg:10,add_custom:11,add_git_tarbal:11,add_new_repo:11,add_sect:10,add_templ:[6,10],add_template_var:[6,10],add_url_rul:11,added:[5,7,10,11],adding:[7,10],addit:[2,5,6,7,10,11],addon:11,addr:10,addrsiz:10,admin:7,administr:7,ae1bf7e3:11,af92:11,afford:5,after:[5,6,10,11],against:5,alia:11,alibaba:1,align:5,all:[0,1,2,4,5,6,7,9,10,11],allbut:[6,10],alloc:5,allow:[5,6,7],allow_no_valu:11,almost:4,along:[6,11],alreadi:[7,10,11],also:[1,5,6,7,10,11],alwai:[5,7,11],amazon:5,america:7,ami:[1,7],amount:7,anaconda:[1,4,6,7,9,10,11],anaconda_arg:[5,11],anaconda_cleanup:10,anaconfigurationthread:11,ancient:11,ani:[0,1,2,5,7,10,11],anoth:[5,6,10],anyth:[9,11],anywher:10,api:[0,1,2,7,8,10],api_changelog:11,api_tim:11,api_url:0,api_vers:[0,2],apiv:1,app:[5,11],app_fil:5,app_nam:5,app_templ:5,appear:10,append:[0,2,5,6,7,10,11],append_initrd:10,append_queri:0,appli:[1,10,11],applianc:10,applic:[7,11],appropri:[5,10],arbitrari:[6,7],arch:[2,4,5,6,10,11],archdata:10,architectur:[4,5,6,10],archiv:[5,7,9,10,11],aren:[6,11],arg:[1,2,5,6,10,11],argifi:2,argpars:[2,10],argument:[0,2,10,11],argumentpars:[2,10,11],argv:10,arm:[5,10],armhfp:10,armplatform:[5,11],around:5,artifact:[5,11],assembl:11,associ:10,assum:[10,11],atla:11,attach:10,attempt:[4,10,11],attr:11,attribut:[5,11],audit:11,augmentenv:10,authent:11,author:[1,5,6,7,11],authorized_kei:7,automat:[7,10,11],avahi:11,avail:[1,2,5,7,11],awar:7,b36e:11,back:[1,10,11],backup:[10,11],bare:[5,11],base:[0,5,6,7,8,11],basearch:[10,11],baseimag:7,baseloraxclass:10,basenam:10,baserequesthandl:10,basesystem:11,baseurl:[5,7,11],bash:[4,5,7,11],basic:[1,6],bcj_arch:10,bcl:[1,5,6,7],bd31:11,bdc:7,bec7:11,becaus:[5,6,7,11],becom:[5,7],been:[5,10,11],befor:[3,5,6,7,10,11],behavior:11,behind:[7,10],being:[5,6,7,11],below:[5,6,11],best:[5,6,7,11],better:10,between:[1,2,7,10,11],big:10,bin:[5,7,10],binari:[5,10],binary_output:10,bind:5,bind_mount_opt:5,bio:5,bisect:[8,10],bit:7,blob:11,block:[6,7,10,11],block_siz:11,blocksiz:10,blog:7,blueprint:[0,8,11],blueprint_exist:11,blueprint_nam:[2,11],blueprints_chang:2,blueprints_cmd:2,blueprints_delet:2,blueprints_depsolv:2,blueprints_diff:2,blueprints_freez:2,blueprints_freeze_sav:2,blueprints_freeze_show:2,blueprints_list:2,blueprints_push:2,blueprints_sav:2,blueprints_show:2,blueprints_tag:2,blueprints_undo:2,blueprints_workspac:2,blueprintsetupst:11,blueprintsetupstateskip:11,blueprintskip:11,bodi:[0,11],bool:[2,10,11],boot:[1,4,6,7,9,10,11],boot_uefi:10,bootabl:5,bootdir:10,bootload:[5,7,11],bootloader_append:11,bootproto:5,both:[5,7,11],bound:11,boundari:11,box:5,brace:10,brace_expand:10,branch:[5,7,11],brian:[1,5,6,7],brianlan:11,browser:7,bug:[5,6,7],bugurl:[6,10],bugzilla:5,build:[2,4,5,6,7,9,10,11],build_config_ref:11,build_env_ref:11,build_id:11,build_statu:11,build_tim:11,buildarch:[6,10],builder:[5,11],buildinstal:4,buildsi:5,buildstamp:8,built:[6,10,11],builtin:10,bump:[7,11],bump_vers:11,bunch:10,bundl:5,bzip2:[5,10],c30b7d80:11,cach:[5,6,7,10],cachedir:[6,10],calcul:10,calculate_disk_s:10,call:[4,5,10,11],callback:[10,11],calledprocesserror:10,caller:11,can:[1,2,5,6,7,9,10,11],cancel:[1,2,5,10,11],cancel_func:10,cannot:[0,5,6,7,11],captur:10,care:[10,11],cat:5,categor:7,caught:[5,11],caus:[7,10],cdboot:7,cdlabel:10,cee5f4c20fc33ea4d54bfecf56f4ad41ad15f4f3:11,central:4,cert:10,certif:[6,7,11],cfg:[10,11],chang:[1,2,5,6,7,10,11],changelog:[1,11],charact:[7,10],check:[7,10,11],check_gpg:[7,11],check_kickstart:10,check_list_cas:11,check_queu:11,check_recipe_dict:11,check_required_list:11,check_ssl:[7,11],checkparam:[8,10],checksum:5,checksum_typ:5,child:10,chmod:[6,10],chmod_:10,cho2:7,choos:5,chosen:[5,10,11],chown_:10,chronyd:7,chroot:[5,6,9,10],chroot_setup_cmd:5,chvt:5,cisco:11,clean:[4,5,7,11],cleanup:[5,10,11],cleanup_tmpdir:11,clear:[4,7,11],clearpart:5,cli:[0,3,7,8,11],client:[0,5,11],client_address:10,clone:[7,11],close:10,cloud:[5,7],cls:10,cmd:[7,10],cmdline:[0,8],cmdlist:10,cockpit:7,code:[6,7,10,11],collect:11,com:[1,5,6,7,11],combin:[2,5,11],come:11,comma:[2,10,11],command:[0,1,2,4,5,6,7,9,10,11],commandlin:[1,7,10],comment_prefix:11,commit:[1,2,7,11],commit_id:11,commit_recip:11,commit_recipe_directori:11,commit_recipe_fil:11,commitdetail:11,committimevalerror:11,common:[5,6],commonli:7,commun:[0,2,7],comoposit:11,compar:11,comparison:11,compat:7,complet:[4,7,10,11],compon:5,compos:[3,8,10],compose_arg:[7,11],compose_cancel:2,compose_cmd:2,compose_delet:2,compose_detail:11,compose_imag:2,compose_info:2,compose_list:2,compose_log:2,compose_metadata:2,compose_result:2,compose_start:2,compose_statu:[2,11],compose_typ:[2,7,11],composer_cli_pars:2,composerconfig:11,composerpars:11,composit:11,compress:[5,9,10,11],compress_arg:[5,11],compressarg:10,compressopt:10,comput:10,conf:[4,6,7,10,11],conf_fil:[10,11],config:[5,6,7,8,10],config_opt:5,configfil:6,configpars:11,configur:[4,5,6,7,10,11],conflict:[6,7],connect:0,connectionpool:0,consist:[1,4],consol:7,construct:[7,10],constructor:11,contain:[4,6,7,9,10,11],content:[3,6,7,8,9],context:10,continu:[2,10],control:[4,7,10,11],convent:5,convert:[2,5,7,10,11],copi:[1,4,5,6,7,9,10,11],copy_dracut_hook:10,copyin:5,copytre:10,core:5,correct:[2,4,5,7,10,11],correctli:[5,7,10,11],correspond:10,could:[5,7],count:11,coupl:5,cpio:10,cpu:10,crash:10,creat:[1,4,6,7,9,10,11],create_ext4_runtim:10,create_gitrpm_repo:11,create_pxe_config:10,create_squashfs_runtim:10,create_vagrant_metadata:10,createaddrs:10,createrepo:5,createrepo_c:11,creation:[4,9,10,11],creator:[3,7,8,11],cross:11,current:[1,4,5,7,10,11],custom:[4,5,9,11],customizations_diff:11,customize_ks_templ:11,cwd:0,d6bd:11,data:[0,4,5,10,11],datahold:[10,11],dbo:[10,11],debug:[7,10],decod:[10,11],decor:8,dee:11,default_image_nam:10,default_sect:11,defin:[5,7,11],delai:[7,10],delet:[0,1,2,5,6,7,10,11],delete_fil:11,delete_recip:11,delete_repo_sourc:11,delete_url_json:0,delimit:11,denial:[5,7],dep:11,dep_evra:11,dep_nevra:11,depend:[1,2,5,6,7,9,11],deploy:[7,10,11],depmod:10,depsolv:[1,2,7,11],describ:[5,7,11],descript:[1,5,7,10,11],desir:11,desktop:5,dest:[10,11],destdir:11,destfil:10,destin:[6,7,10,11],detach:10,detail:[1,2,7,11],detect:[5,10],dev:[5,6,10],devel:5,develop:[5,7,11],devic:[5,6,10],devicemapp:10,dhcp:[5,7],dialog:5,dict:[0,2,10,11],dict_nam:2,dict_typ:11,dictionari:11,didn:5,died:5,diff:[1,2,11],diff_list:11,differ:[1,2,5,7,10,11],difficult:11,dir:[5,6,10,11],direcori:10,direct:11,directli:[2,5,7,11],directori:[1,5,6,7,9,10,11],dirinstall_path:10,disabl:[6,7,10,11],disablerepo:[6,10],discinfo:[6,8],disk:[1,10],disk_imag:5,disk_img:10,disk_info:5,disk_siz:10,diskimag:10,dispatch:2,displai:[1,2,5,7],disposit:0,distinct:11,distribut:[6,7],dm_attach:10,dm_detach:10,dmdev:10,dmsetup:10,dnf:[6,7,10,11],dnf_conf:11,dnf_obj:10,dnf_repo_to_file_repo:11,dnfbase:8,dnfhelper:8,dnflock:11,dnfplugin:[6,10],do_graft:10,doc:[5,7,11],document:[5,6,7],doe:[2,5,6,7,10,11],doesn:[2,5,7,10,11],doing:[5,7,11],domacboot:10,domain:7,don:[5,10,11],done:[1,10,11],doupgrad:10,down:11,download:[0,2,6,10,11],download_fil:0,downloadprogress:10,dracut:10,dracut_arg:[5,6],dracut_default:10,dracut_hook:10,dracut_hooks_path:10,drawback:5,drive:6,driven:4,driver:[4,10],drop:[7,9],dst:10,due:5,dump:11,dure:2,dyy8gj:11,e083921a7ed1cf2eec91ad12b9ad1e70ef3470b:11,e695affd:11,e6fa6db4:11,each:[1,2,5,6,7,10,11],easi:10,easier:5,eastern:7,ec2:5,echo:5,edit:[7,11],edk2:5,effect:7,efi:[5,7],either:[5,7,10,11],el7:11,els:10,emit:10,empti:[6,7,10,11],empty_lines_in_valu:11,en_u:7,enabl:[5,6,7,10,11],enablerepo:[6,10],encod:10,encount:[5,11],encrypt:7,end:[1,5,6,7,10,11],endfor:10,endif:6,endpoint:11,enforc:[5,7,11],enhanc:5,enough:10,ensur:[10,11],enter:11,entir:7,entri:[2,5,7,10,11],env_add:10,env_prun:10,environ:[5,6,7,10],epoch:[2,11],equival:10,err:10,error:[2,5,7,8,10],escap:10,especi:7,estim:11,estimate_s:[10,11],etc:[5,6,7,10,11],even:[5,6,11],ever:0,everi:11,everyth:[5,6,10],exact:[7,11],exactli:[7,11],examin:5,exampl:[1,2,5,9,10,11],except:[5,6,7,10,11],exclud:10,excludepkg:[6,10],exec:5,execproduct:10,execreadlin:10,execut:[2,4,7,10],executil:8,execwithcaptur:10,execwithredirect:10,exist:[0,1,4,5,6,7,10,11],exit:[1,2,5,6,7,10],expand:10,expans:10,expect:[5,7,10,11],expected_kei:11,experi:10,expir:11,expire_sec:11,explicitli:7,explor:1,exract:11,ext4:[1,6,7,10],extend:7,extens:[1,6],extern:10,extra:[2,5,7,11],extra_boot_arg:[5,10],extract:[10,11],f15:5,f16:5,f629b7a948f5:11,fail:[1,2,7,10,11],failur:[10,11],fairli:6,fakednf:10,fall:11,fals:[1,2,5,6,7,10,11],far:5,fatal:[5,10],fatalerror:10,fe925c35e795:11,featur:5,fedora:[3,5,6,7,10,11],fedoraproject:[5,6,11],feedback:5,fetch:[0,10],few:[5,6],field:[2,7,11],figur:4,fila:11,file:[0,1,2,4,6,7,9,10,11],fileglob:10,filenam:[0,1,2,10,11],filesystem:[1,7,9,10,11],fill:11,filter:[10,11],filter_stderr:10,find:[0,4,5,10,11],find_commit_tag:11,find_field_valu:11,find_free_port:10,find_nam:11,find_ostree_root:10,find_recipe_obj:11,find_templ:10,findkernel:10,fine:7,finish:[1,2,6,7,10,11],firewal:11,firewall_cmd:11,firewalld:7,firmwar:5,first:[4,5,7,10,11],first_registr:11,fit:5,five:2,fix:10,flag:10,flask:11,flask_blueprint:[8,10],flatten:5,flexibl:4,fmt:10,fname:10,fobj:10,follow:[2,5,10,11],foo:11,forc:[6,7,10,11],form:[0,6,11],format:[1,2,5,7,10,11],found:[5,7,10,11],four:2,free:[6,10],freez:[1,2,11],from:[0,1,2,4,5,6,7,9,10,11],from_commit:11,frozen:[1,2],frozen_toml_filenam:2,fs_imag:5,fs_label:5,fsck:10,fsimag:[5,10],fstab:5,fstype:[5,10],ftp:7,ftruncat:10,full:[0,7,10,11],further:10,futur:[],game:11,gener:[2,4,5,6,10,11],generate_module_data:10,generate_module_info:10,get:[0,5,7,10,11],get_arch:10,get_base_dir:11,get_base_object:11,get_buildarch:10,get_commit_detail:11,get_compose_typ:11,get_default:11,get_default_servic:11,get_dnf_base_object:10,get_extra_pkg:11,get_filenam:0,get_firewall_set:11,get_image_nam:11,get_iso_label:10,get_kernel_append:11,get_keyboard_layout:11,get_languag:11,get_loop_nam:10,get_repo_descript:11,get_repo_sourc:11,get_revision_from_tag:11,get_servic:11,get_source_id:11,get_timezone_set:11,get_url_json:0,get_url_json_unlimit:0,get_url_raw:0,gfile:11,ggit:11,gib:[5,6,10],gid:[7,11],git:[5,11],gitarchivetarbal:11,github:5,gitlock:11,gitrepo:11,gitrpm:[8,10],gitrpmbuild:11,given:[0,10,11],glanc:5,glob:[6,7,10,11],glusterf:11,gnome:5,gnu:11,goe:[4,6,10],going:5,good:[5,10],googl:[1,7],gpg:[7,11],gpgcheck:7,gpgkei:[7,11],gpgkey_url:[7,11],gplv3:11,graft:10,green:11,group:[1,5,10,11],group_nam:11,group_typ:11,grow:5,growpart:5,grub2:[5,7],grub:10,gui:7,gzip:[5,10],had:5,handl:[2,5,6,7,10],handle_api_result:2,handler:10,happen:[5,6,10],hard:11,hardlink:10,has:[2,5,7,9,10,11],hash:[1,2,7,11],have:[2,5,6,7,10,11],haven:5,hawkei:11,hda:1,head:[7,11],head_commit:11,header:[0,7,11],hello:5,help:[0,5,8,10],helper:11,here:[4,5,6,7,9,11],higer:11,highbank:5,higher:6,histori:[7,11],hold:11,home:[5,7],homepag:11,hook:10,host:[0,5,6,7,10,11],hostnam:[7,11],how:[4,10],howev:7,http:[0,1,2,5,6,7,10,11],http_client:8,httpconnect:0,httpconnectionpool:0,httpd:7,human:2,hw_random:10,hwmon:10,hyper:1,i386:10,ia64:10,id_rsa:7,idea:[4,5],ideal:10,identifi:[2,6],ids:11,ignor:10,imag:[2,3,4,6,10,11],image_nam:[5,7,11],image_s:11,image_size_align:5,image_typ:[5,10],images_dir:10,imap:7,img:[5,6,9,10],img_mount:10,img_siz:10,imgutil:8,immedi:7,immut:[7,11],implantisomd5:10,implement:[9,10],includ:[0,2,5,7,9,11],inclus:11,incom:10,increment:11,indent:2,index:[3,11],indic:10,individu:2,info:[1,2,7,11],inform:[1,2,4,6,7,11],init:[5,7,10],init_file_log:10,init_stream_log:10,initi:10,initramf:[5,6,10,11],initrd:[5,6,10],initrd_address:10,initrd_path:10,inject:7,inline_comment_prefix:11,input:[5,10],inroot:10,insecur:5,insert:11,insid:[5,10,11],insort_left:11,instal:[1,2,4,8,9,11],install_log:10,installclass:9,installerror:10,installimg:[9,10],installinitrd:10,installkernel:10,installpkg:[6,9,10,11],installroot:[6,10],installtre:10,installupgradeinitrd:10,instanc:[5,11],instead:[1,2,5,6,7,11],instroot:4,instruct:5,insuffici:10,integ:11,interact:1,interfac:7,interfer:6,intermedi:1,interpol:11,intrd:10,introduct:3,invalid:11,ioerror:11,is_commit_tag:11,is_image_mount:10,is_parent_diff:11,iserror:10,isfin:[6,10],isn:[5,10,11],iso:[1,4,10,11],iso_nam:5,iso_path:10,isoinfo:10,isolabel:10,isolinux:10,isomountpoint:10,issu:7,item:[2,10,11],iter:[10,11],its:[5,10,11],itself:7,jboss:11,job:11,job_creat:11,job_finish:11,job_start:11,joinpath:10,json:[0,1,2,5,7,10,11],just:[9,10,11],kbyte:11,kdir:10,keep:[1,5,10,11],keepglob:10,kei:[2,7,10,11],kernel:[5,6,10,11],kernel_append:11,kernel_arg:[5,10],keyboard:[7,11],keyboard_cmd:11,keymap:7,kib:11,kickstart:[7,10,11],kickstartpars:10,kill:[5,10],knowledg:4,known:2,kpartx:[5,10],kpartx_disk_img:10,ks_path:10,ks_templat:11,ksflatten:5,kubernet:11,kvm:[1,5],kwarg:[10,11],label:[5,10],lambda:10,lane:[1,5,6,7],lang:11,lang_cmd:11,languag:[7,11],larg:[7,11],last:[1,2,10,11],later:[6,10,11],latest:[5,11],launch:7,layout:11,lazi:10,lead:[0,10],least:[5,10],leav:[7,10,11],left:[7,10,11],leftmost:11,leftov:[5,10],len:11,less:11,level:[5,6,7,10,11],lib64_arch:10,lib:[7,10,11],librari:4,libus:11,libvirt:5,licens:11,light:6,like:[1,5,6,7,9,10,11],limit:[0,5,7,10,11],line:[2,4,7,10,11],link:10,linktre:10,linux:[5,6,10],list:[1,2,4,5,6,7,10,11],list_branch_fil:11,list_commit:11,list_commit_fil:11,listen:[1,7,10],live:[1,4,7,10,11],live_image_nam:10,live_rootfs_s:5,livecd:10,livemedia:[3,7,10,11],liveo:[6,10],livesi:5,livetemplaterunn:10,lmc:[5,10],lmc_parser:10,load:[10,11],local:[1,5,10,11],localectl:7,localhost:10,locat:[5,6],lock:[7,11],lock_check:11,log:[1,2,5,6,10,11],log_check:10,log_error:10,log_output:10,log_path:10,log_request_handler_class:10,log_selinux_st:10,logdir:10,logfil:[1,5,6,7,10],logger:10,logic:6,logmonitor:10,lognam:10,logrequesthandl:10,logserv:10,longer:[7,11],look:[4,5,7,9,11],loop:[5,6,10],loop_attach:10,loop_detach:10,loop_dev:10,loop_waitfor:10,loopdev:10,loopx:10,loopxpn:10,lorax:[1,5,9,10,11],lorax_composer_pars:11,lorax_pars:10,lorax_templ:5,loraxdir:10,loraxdownloadcallback:10,loraxrpmcallback:10,loraxtempl:10,loraxtemplaterunn:[6,10],lose:5,losetup:10,lost:11,low:10,lowercas:10,lowest:10,lpar:10,lst:[2,11],ltmpl:[6,8],lvm2:10,lzma:[5,10],macboot:[5,6],made:[7,10],mai:[5,6,7,10,11],mail:5,main:2,maintain:4,make:[5,6,7,10,11],make_:7,make_appli:10,make_compos:11,make_disk:7,make_dnf_dir:11,make_git_rpm:11,make_imag:10,make_live_imag:10,make_livecd:10,make_owned_dir:11,make_queue_dir:11,make_runtim:10,make_setup_st:11,make_tar_disk:10,makestamp:4,maketreeinfo:4,mako:[4,5,6,10],manag:1,mandatori:[7,11],mani:11,manual:11,map:2,mask:10,master:11,match:[5,7,10,11],maximum:11,maxretri:10,mbr:5,meant:[10,11],mechan:7,media:[5,10],megabyt:5,member:[1,5],memlimit:10,memori:[5,10],memtest86:5,mention:10,messag:[7,10,11],metadata:[1,2,5,6,7,10,11],metalink:[7,11],method:[5,7,10,11],mib:[5,10,11],mime:11,mind:[5,11],minim:[5,7,10],minimum:[5,11],minut:5,mirror:[5,10,11],mirrorlist:[6,7,10,11],mirrormanag:5,miss:[10,11],mix:4,mkbtrfsimg:10,mkcpio:10,mkdir:[5,6,10],mkdosimg:10,mkext4img:10,mkf:10,mkfsarg:10,mkfsimag:10,mkfsimage_from_disk:10,mkhfsimg:10,mknod:5,mkqcow2:10,mkqemu_img:10,mkrootfsimg:10,mkspars:10,mksquashf:10,mktar:10,mnt:[7,10],mock:[1,7],mockfil:7,moddir:10,mode:[1,5,6,10,11],modeless:10,modifi:[5,10,11],modul:[1,3,4,6,8],module_nam:11,module_nv:11,modules_cmd:2,modules_info:11,modules_list:11,monitor:[5,8,11],more:[4,5,7,10],most:[1,2,5,7,11],mount:[5,7,8],mount_boot_part_over_root:10,mount_dir:10,mount_ok:10,mountarg:10,mountpoint:[5,10],move:[6,7,10,11],move_compose_result:[7,11],msg:[10,11],much:10,multi:5,multipl:[2,5,6,7,10,11],must:[5,6,7,9,10,11],mvebu:5,myconfig:10,name:[2,10,11],namespac:2,need:[1,2,5,6,7,10,11],neither:11,network:[5,7,10],never:10,nevra:[2,11],new_item:11,new_recip:11,new_repo_sourc:11,newer:5,newest:[1,2,11],newli:10,newlin:10,newrecipegit:11,newrun:10,next:[10,11],nice:2,noarch:[7,11],node:[5,6],nomacboot:[5,6],non:[7,10,11],none:[0,5,7,10,11],nop:10,norm:2,normal:[1,5,6,9],north:7,nosmt:7,nosuchpackag:10,note:[5,6,10,11],noth:[2,10,11],noupgrad:6,noverifi:6,noverifyssl:[6,10],novirt:5,novirt_cancel_check:10,novirt_instal:[7,10,11],now:[5,6,9,10,11],nspawn:[5,6],ntp:7,ntpserver:[7,11],number:[1,2,5,6,7,10,11],numer:7,nvr:6,object:[0,10,11],observ:5,occas:10,occur:10,oci_config:5,oci_runtim:5,octalmod:10,off:7,offset:[0,11],oid:11,old:[5,6,10,11],old_item:11,old_recip:11,old_vers:11,older:5,omap:5,omit:7,onc:[1,5,6,7],one:[1,2,5,6,7,9,10,11],ones:[6,7,10,11],onli:[2,5,6,7,10,11],onto:6,open:[7,11],open_or_create_repo:11,openh264:11,openssh:7,openstack:[1,7],oper:[4,5,7,11],opt:[2,7,10,11],option:[4,5,6,7,10,11],order:[4,6,7,11],ordereddict:[],org:[5,6,7,11],origin:[0,5,7,11],ostre:[5,10],other:[4,5,6,7,10,11],otherwis:[7,10,11],ouput:11,out:[1,4,7,10,11],outfil:10,output:[1,2,5,6,8],outputdir:[6,10],outroot:10,outsid:10,over:[7,9],overhead:10,overrid:[5,6,7,10,11],overridden:7,overwrit:[7,11],overwritten:10,ovmf:5,ovmf_path:[5,10],own:[5,6,7,11],owner:[7,11],ownership:[7,11],p_dir:11,pacag:10,packag:[1,4,5,6,8,9],package_nam:11,package_nv:11,packagedir:10,packagenevra:2,page:3,param1:0,param2:0,param:[10,11],paramat:9,paramet:[0,2,10,11],parent:11,pars:[10,11],parser:10,part:[2,5,9,10,11],particular:10,partit:[1,5,10],partitin:5,partitionmount:10,pass:[1,5,6,7,9,10,11],passwd:5,password:[5,7,11],pat:10,patch:[7,11],path:[0,1,2,5,6,7,10,11],pathnam:10,pattern:10,payload:10,pcritic:10,pdebug:10,per:[10,11],permiss:[7,11],perror:10,phys_root:10,physic:10,pick:[1,10],pid:5,pinfo:10,ping:11,pivot:10,pkg:[2,10,11],pkg_to_build:11,pkg_to_dep:11,pkg_to_project:11,pkg_to_project_info:11,pkgglob:10,pkglistdir:10,pkgname:9,pkgsizefil:10,pki:11,place:[5,6,9,10,11],plain:[5,6,7,10,11],plan:[],platform:[5,11],play0ad:11,pleas:10,plugin:6,plugin_conf:5,point:[4,5,7,10,11],pool:7,popen:[10,11],popul:[10,11],port:[0,5,6,7,10,11],pos:11,posit:11,possibl:[2,5,7,10,11],post:[0,5,7,10,11],post_url:0,post_url_json:0,post_url_toml:0,postfix:7,postinstal:10,postun:10,powerpc:10,ppc64:10,ppc64le:[9,10],ppc:9,pre:[5,7,10],precaut:1,preexec_fn:10,prefix:[5,7,10,11],prepar:11,prepare_commit:11,prepend:11,present:[4,5,11],preserv:10,pretti:[7,10],pretty_dict:2,pretty_diff_entri:2,prettycommitdetail:2,preun:10,prevent:11,previou:[7,10,11],previous:[4,5],primari:[5,7],primarili:7,print:[1,2],privileg:7,probabl:6,problem:[4,10,11],proc:10,procedur:10,process:[2,4,5,6,7,9,10,11],produc:[4,5,7,11],product:[3,6,10],program:[1,2,5,6,7,10,11],progress:[0,2,10,11],proj:11,proj_to_modul:11,project:[0,1,5,7,8,10],project_info:11,project_nam:11,projects_cmd:2,projects_depsolv:11,projects_depsolve_with_s:11,projects_info:[2,11],projects_list:[2,11],projectserror:11,pronounc:11,properti:[10,11],protocol:7,provid:[4,5,6,10,11],proxi:[6,7,10,11],pub:[5,6,7],pubkei:5,pull:[4,5,6],pungi:4,purpos:[5,7],push:[1,2],put:[7,9,10,11],pwarn:10,pxe:10,pxeboot:6,pyanaconda:9,pykickstart:[10,11],pylorax:[4,6,7,8,9],pyo:10,python:[4,6,10,11],pythonpath:5,qcow2:[1,5,10],qemu:[1,10],qemu_arg:5,qemu_cmd:10,qemuinstal:10,queri:[0,2],queue:[2,7,8,10],queue_statu:11,quot:10,race:10,rais:[0,10,11],raise_err:10,ram:[5,10],random:[5,10],rang:10,rare:10,raw:[0,1,2,5,11],rawhid:[5,6],rdo:5,re_test:10,react:7,read:[4,5,10,11],read_commit:11,read_commit_spec:11,read_recipe_and_id:11,read_recipe_commit:11,readabl:2,readi:[10,11],readm:11,real:[5,7,10],realli:[5,6,10],reason:[5,10],reboot:7,rebuild:[5,6,10],rebuild_initrd:10,rebuild_initrds_for_l:10,recent:[1,2,11],recip:[8,10],recipe_dict:11,recipe_diff:11,recipe_filenam:11,recipe_from_dict:11,recipe_from_fil:11,recipe_from_toml:11,recipe_kei:11,recipe_nam:11,recipe_path:11,recipe_str:11,recipeerror:11,recipefileerror:11,recipegit:11,recipegroup:11,recipemodul:11,recipepackag:11,recommend:[5,7],recurs:10,redhat:[1,5,6,7],redirect:[5,10],reduc:7,ref:[7,11],refer:[7,11],referenc:7,refus:5,regex:[8,10],regist:11,register_blueprint:11,rel:10,relat:[7,11],releas:[1,2,4,5,6,7,10,11],releasev:[5,7,10,11],relev:11,reli:4,reliabl:5,remain:[2,6,7],remaind:11,rememb:7,remov:[4,5,6,7,10,11],remove_temp:10,removefrom:[6,10],removekmod:[6,10],removepkg:[6,10],renam:[5,10],repl:10,replac:[4,5,6,7,9,10,11],repo1:5,repo2:5,repo:[4,6,10,11],repo_dir:11,repo_file_exist:11,repo_to_k:11,repo_to_sourc:11,repo_url:5,repodata:[5,11],repodict:11,repoid:11,report:[5,6,7,11],repositori:[6,7,10,11],represent:11,reproduc:11,reqpart:[5,10],request:[0,7,10,11],requir:[1,5,7,10,11],rerun:11,rescu:5,reserv:5,reset:10,reset_handl:10,reset_lang:10,resolv:10,resort:10,respond:7,respons:[0,1,10],rest:[7,10],restart:[7,11],restor:11,result:[0,1,2,5,6,7,10,11],result_dir:5,resultdir:5,results_dir:[10,11],retain:7,reticul:10,retriev:[7,11],retrysleep:10,retun:11,returncod:10,revert:[1,2,11],revert_fil:11,revert_recip:11,revis:11,revisor:4,revpars:11,rexist:10,rglob:10,rhel7:[3,5,11],rhel:5,rng:5,root:[1,2,4,5,6,7,10,11],root_dir:11,rootdir:10,rootf:[5,6,10],rootfs_imag:10,rootfs_siz:6,rootm:5,rootpw:[5,11],roughli:10,round:[10,11],round_to_block:10,rout:[0,7,10],rpm:[4,5,7,10,11],rpmbuild:11,rpmfluff:11,rpmname:[7,11],rpmreleas:[7,11],rpmversion:[7,11],rtype:11,rule:11,run:[1,2,5,7,9,10,11],run_creat:10,run_pkg_transact:[6,10],runcmd:[6,10],runcmd_output:10,rundir:10,runner:10,runtim:[5,9,10],runtimebuild:[9,10],runtimeerror:[0,10,11],rxxx:11,s390x:10,safe:[7,10],samba:11,same:[5,6,7,10,11],sampl:10,satisfi:11,save:[0,1,2,6,7,10,11],sbin:[5,10],scene:7,script:[4,5,10,11],scriptlet:10,search:[3,10,11],second:[5,11],secondari:7,section:[5,7,10,11],secur:1,see:[5,10,11],seem:10,select:[1,2,5,6,7,10,11],self:[7,10,11],selinux:[5,7,10],semver:[7,11],send:[0,1],separ:[2,7,10,11],sequenc:10,server:[0,1,2,7,8,10],servic:[6,10,11],services_cmd:11,set:[2,4,5,6,7,10,11],setenforc:6,setenv:10,setup:[5,6,7,10,11],setup_log:10,sever:[5,9,11],sha256:5,shallow:10,share:[5,6,7,9,10,11],share_dir:11,sharedir:[6,7,10],shell:7,ship:6,shlex:10,shortnam:10,should:[0,5,6,7,10,11],should_exit_now:2,show:[1,2,5,6,7,10],show_json:2,shutdown:[5,10],sig:11,sig_dfl:10,sig_ign:10,sign:[7,10,11],signal:10,signific:7,similar:[6,7],simpl:[2,6,7],simple_test:10,simplerpmbuild:11,simpli:7,simul:2,sinc:[5,7,11],singl:[2,5,11],singleton:10,site:5,situat:7,size:[1,2,5,6,10,11],skip:[5,10,11],skip_rul:11,slice:11,slightli:5,slow:5,small:10,smp:5,socket:[0,1,2,7],socket_path:[0,2],socketserv:10,softwar:11,solut:5,solv:11,some:[0,4,5,6,7,10,11],someplac:7,someth:[4,5,7,10,11],sometim:5,sort:[6,11],sound:[6,10],sourc:[0,1,6,8,10,11],source_glob:11,source_id:11,source_nam:11,source_path:11,source_ref:11,source_to_repo:11,source_to_repodict:11,sources_add:2,sources_cmd:2,sources_delet:2,sources_info:2,sources_list:2,sourcesdir:11,space:[2,6,7,10,11],sparingli:11,spars:[5,10],speak:[4,6],spec:11,special:[6,11],specif:[5,6,7,9,10,11],specifi:[0,5,7,10,11],speed:5,spin:5,spline:10,split:10,split_and_expand:10,squashf:[5,10],squashfs_arg:10,squashfs_onli:10,src:[3,5,10],srcdir:10,srcglob:10,srv:7,ssh:[5,7,11],sshd:[5,7],sshkei:11,ssl:[6,10],sslverifi:10,stage2:10,stage:[4,5],standard:[10,11],start:[1,2,5,6,7,10,11],start_build:11,start_queue_monitor:11,startprogram:10,startup:7,state:[1,5,7,10,11],statement:10,statu:[0,7,8,10],status_cmd:2,status_filt:11,stderr:10,stdin:10,stdout:[10,11],step:[4,5],stick:7,still:[5,7,10],stop:[5,7],storag:[1,2,5,7,10,11],store:[5,6,7,10,11],str1:2,str2:2,str:[0,2,10,11],strang:5,stream:11,strict:11,strictli:6,string:[0,2,7,10,11],string_low:10,stuck:5,stuff:5,style:10,sub:10,subclass:11,subdirectori:11,submit:11,submodul:8,submount:10,subpackag:8,subprocess:10,subset:11,substitut:[5,6,11],succe:11,success:[10,11],sudo:[5,7],suffix:10,suit:[1,7],suitabl:[10,11],summari:[7,11],support:[1,2,4,5,6,9,11],sure:[5,7,10,11],suspect:5,swap:5,symlink:[6,10,11],sys:[2,10],sys_root_dir:10,sysimag:10,syslinux:5,sysroot:10,system:[1,5,6,7,10,11],system_sourc:11,systemctl:[6,7,10],systemd:[5,6,7,10],sysutil:8,tag:[1,2,6,7,11],tag_file_commit:11,tag_recipe_commit:11,tail:11,take:[2,5,7,9,10,11],take_limit:11,talk:[0,2],tar:[1,2,7,11],tar_disk_nam:5,tar_img:10,tarbal:10,tarfil:[5,10],target:[5,6,10],tcp:[7,10],tcpserver:10,tear:11,tegra:5,tell:6,telnet:7,telnetd:7,tempdir:10,templat:[4,5,7,9,10,11],template_fil:10,templatedir:10,templatefil:10,templaterunn:10,temporari:[1,2,4,5,6,7,10,11],termin:[5,10],test:[1,5,7,11],test_config:11,test_mod:11,test_templ:11,testmod:[1,2],text:[6,7,11],textiowrapp:10,than:[5,7,10,11],thei:[1,5,6,7,11],thelogg:10,them:[4,6,7,10,11],therefor:7,thi:[0,1,2,5,6,7,9,10,11],thing:[4,5,10,11],those:[4,9,11],though:[4,11],thread:[5,7,10,11],three:[2,7],thu:10,ti_don:10,ti_tot:10,time:[5,6,7,9,10,11],timedatectl:7,timeout:[0,5,10],timestamp:[8,10],timestamp_dict:11,timezon:11,timezone_cmd:11,titl:[5,10,11],tmp:[5,6,7,10,11],tmpdir:[10,11],tmpl:[9,10,11],tmux:7,to_commit:11,token:10,told:6,toml:[0,1,2,7,8,10],toml_dict:11,toml_filenam:2,tomldecodeerror:11,tomlerror:11,tool:[1,4,5,6,7],top:[5,6,7,9,10,11],total:[5,11],total_drpm:10,total_fil:10,total_fn:0,total_s:10,touch:10,trace:10,traceback:10,track:[1,11],trail:11,transact:10,transactionprogress:10,transmogrifi:10,trash:5,treat:[7,10],tree:[4,5,6,9,10,11],treebuild:[8,9,11],treeinfo:[6,8],tri:[5,10,11],truckin:10,ts_done:10,ts_total:10,tty1:5,tty3:5,tui:5,tupl:[2,10,11],turn:4,two:[2,11],type:[0,1,2,5,10],typic:10,udev_escap:10,udp:7,uid:[7,11],umask:10,umount:[5,7,10],uncompress:11,undelet:11,under:[5,6,7,10,11],understand:7,undo:[1,2,11],unicodedecodeerror:10,uniqu:11,unit:[7,10],unix:[0,2,7,11],unix_socket:8,unixhttpconnect:0,unixhttpconnectionpool:0,unknown:10,unless:11,unmaintain:4,unmount:[5,10],unneed:[4,6,7,10,11],unpack:4,until:[7,10],untouch:10,unus:[2,5],upd:4,updat:[2,3,5,6,7,10,11],update_vagrant_metadata:10,upgrad:10,upload:[5,7],upstream:11,upstream_vc:11,url:[0,5,6,7,10,11],url_prefix:11,urllib3:0,usabl:5,usag:[1,5,6,7,10],usbutil:10,use:[0,1,2,5,6,7,10,11],used:[1,2,4,5,6,7,10,11],useful:[5,10],user:[1,2,10,11],user_dracut_arg:10,useradd:7,uses:[5,6,7,10,11],using:[1,2,5,6,7,9,10,11],usr:[5,6,7,9,10,11],usual:[5,7,11],utc:[7,11],utf:[7,10],util:[0,5,8,10],uuid:[1,2,7,11],uuid_cancel:11,uuid_delet:11,uuid_dir:11,uuid_imag:11,uuid_info:11,uuid_log:11,uuid_statu:11,uuid_tar:11,v0_api:11,v0_blueprints_chang:11,v0_blueprints_delet:11,v0_blueprints_delete_workspac:11,v0_blueprints_depsolv:11,v0_blueprints_diff:11,v0_blueprints_freez:11,v0_blueprints_info:11,v0_blueprints_list:11,v0_blueprints_new:11,v0_blueprints_tag:11,v0_blueprints_undo:11,v0_blueprints_workspac:11,v0_compose_cancel:11,v0_compose_delet:11,v0_compose_fail:11,v0_compose_finish:11,v0_compose_imag:11,v0_compose_info:11,v0_compose_log:11,v0_compose_log_tail:11,v0_compose_metadata:11,v0_compose_queu:11,v0_compose_result:11,v0_compose_start:11,v0_compose_statu:11,v0_compose_typ:11,v0_modules_info:11,v0_modules_list:11,v0_projects_depsolv:11,v0_projects_info:11,v0_projects_list:11,v0_projects_source_delet:11,v0_projects_source_info:11,v0_projects_source_list:11,v0_projects_source_new:11,v1_projects_source_info:11,v1_projects_source_new:11,vagrant:10,vagrant_metadata:5,vagrantfil:5,valid:[7,10,11],valu:[2,5,7,10,11],valueerror:11,valuetok:10,variabl:[5,6,10,11],variant:[6,10],variou:[10,11],vcpu:[5,10],verbatim:5,veri:5,verifi:[1,6,10],version:[0,1,2,4,5,6,7,10,11],vhd:1,via:[5,6,7],video:10,view:[1,11],view_func:11,virt:[10,11],virt_instal:10,virtio:10,virtio_consol:10,virtio_host:10,virtio_port:10,virtual:[5,10],vmdk:1,vmlinuz:[5,10],vnc:[5,10],volid:[5,6,10],volum:[5,6],wai:[2,5,7,11],wait:[1,10,11],want:[5,7,11],warfar:11,warn:[10,11],wasn:5,watch:5,web:[5,7],websit:5,weight:6,welcom:5,welder:7,weldr:[1,7,11],well:[5,6,7,11],were:[10,11],what:[0,4,5,6,7,10,11],whatev:11,wheel:[5,7],when:[5,6,7,10,11],whenev:10,where:[1,5,6,7,10,11],whether:[2,10,11],which:[1,2,4,5,6,7,9,10,11],whitespac:10,who:5,whole:10,widest:7,widget:7,wildcard:7,winnt:10,with_cor:11,with_rng:5,without:[5,6,7,11],word:10,work:[10,11],work_dir:10,workdir:[6,10],workflow:4,workspac:[1,2,8,10],workspace_delet:11,workspace_dir:11,workspace_read:11,workspace_writ:11,world:5,would:[5,7,9,10],wrapper:11,write:[4,10,11],write_commit:11,write_fil:11,write_ks_group:11,write_ks_root:11,write_ks_us:11,write_timestamp:11,writepkglist:10,writepkgs:10,written:[4,5,7,10],wrong:10,wrote:11,wwood:10,www:11,x86:[6,9,10,11],x86_64:[5,6,10,11],xattr:10,xfce:5,xfsprog:10,xml:5,xorrisof:6,xxxx:5,xxxxx:5,yield:11,you:[1,5,6,7,9,10,11],your:[5,6,7,9,11],yourdomain:5,yum:[4,5,7,11],yumbas:11,yumlock:11,zero:[10,11],zerombr:5},titles:["composer package","composer-cli","composer.cli package","Welcome to Lorax's documentation!","Introduction to Lorax","livemedia-creator","Lorax","lorax-composer","src","Product and Updates Images","pylorax package","pylorax.api package"],titleterms:{"import":7,"new":11,Adding:[7,11],The:6,Using:5,add:7,ami:5,anaconda:5,api:11,applianc:5,argument:[1,5,6,7],atom:5,base:10,befor:4,bisect:11,blueprint:[1,2,7],boot:5,branch:3,build:1,buildstamp:10,checkparam:11,cleanup:6,cli:[1,2],cmdline:[1,2,5,6,7,10,11],compos:[0,1,2,7,11],config:11,contain:5,content:[0,2,10,11],creat:5,creation:[5,6],creator:[5,10],custom:[6,7],debug:5,decor:10,discinfo:10,disk:[5,7],dnfbase:[10,11],dnfhelper:10,docker:5,document:3,download:1,dracut:[5,6],dvd:7,edit:1,error:11,exampl:7,executil:10,file:5,filesystem:[5,6],firewal:7,flask_blueprint:11,git:7,gitrpm:11,group:7,hack:5,help:2,how:[5,6,7],http_client:0,imag:[1,5,7,9],imgutil:10,indic:3,initi:5,insid:6,instal:[5,6,7,10],introduct:4,iso:[5,6,7],kernel:7,kickstart:5,live:5,livemedia:5,local:7,log:7,lorax:[3,4,6,7],ltmpl:10,mock:[5,6],modul:[0,2,7,10,11],monitor:[1,10],mount:10,name:[1,5,6,7],note:7,oci:5,open:5,openstack:5,other:3,output:[7,10,11],packag:[0,2,7,10,11],partit:7,posit:[1,6,7],postinstal:6,problem:5,product:9,project:[2,11],proxi:5,pxe:5,pylorax:[10,11],qemu:5,queue:11,quickstart:[5,6,7],recip:11,regex:11,repo:[5,7],repositori:5,requir:6,respons:11,rout:11,run:6,runtim:6,secur:7,server:11,servic:7,sourc:[2,7],squashf:6,src:8,sshkei:7,statu:[1,2,11],submodul:[0,2,10,11],subpackag:[0,10],support:7,sysutil:10,tabl:3,tar:5,templat:6,thing:7,timestamp:11,timezon:7,tmpl:6,toml:11,treebuild:10,treeinfo:10,type:[7,11],uefi:5,unix_socket:0,updat:9,user:[5,7],util:[2,11],vagrant:5,virt:5,welcom:3,work:[5,6,7],workspac:11}}) \ No newline at end of file diff --git a/docs/man/.doctrees/composer-cli.doctree b/docs/man/.doctrees/composer-cli.doctree index 0f18d8a5..72f5b912 100644 Binary files a/docs/man/.doctrees/composer-cli.doctree and b/docs/man/.doctrees/composer-cli.doctree differ diff --git a/docs/man/.doctrees/composer.cli.doctree b/docs/man/.doctrees/composer.cli.doctree index e7375591..5c7734f8 100644 Binary files a/docs/man/.doctrees/composer.cli.doctree and b/docs/man/.doctrees/composer.cli.doctree differ diff --git a/docs/man/.doctrees/composer.doctree b/docs/man/.doctrees/composer.doctree index 385bb51b..17e8da96 100644 Binary files a/docs/man/.doctrees/composer.doctree and b/docs/man/.doctrees/composer.doctree differ diff --git a/docs/man/.doctrees/environment.pickle b/docs/man/.doctrees/environment.pickle index 3cadbc53..b147e192 100644 Binary files a/docs/man/.doctrees/environment.pickle and b/docs/man/.doctrees/environment.pickle differ diff --git a/docs/man/.doctrees/index.doctree b/docs/man/.doctrees/index.doctree index bb82811c..9f150f3c 100644 Binary files a/docs/man/.doctrees/index.doctree and b/docs/man/.doctrees/index.doctree differ diff --git a/docs/man/.doctrees/intro.doctree b/docs/man/.doctrees/intro.doctree index 41392cbc..ec1909d3 100644 Binary files a/docs/man/.doctrees/intro.doctree and b/docs/man/.doctrees/intro.doctree differ diff --git a/docs/man/.doctrees/livemedia-creator.doctree b/docs/man/.doctrees/livemedia-creator.doctree index 7397f304..b9e64092 100644 Binary files a/docs/man/.doctrees/livemedia-creator.doctree and b/docs/man/.doctrees/livemedia-creator.doctree differ diff --git a/docs/man/.doctrees/lorax-composer.doctree b/docs/man/.doctrees/lorax-composer.doctree index 1bc583c8..d1ac6f25 100644 Binary files a/docs/man/.doctrees/lorax-composer.doctree and b/docs/man/.doctrees/lorax-composer.doctree differ diff --git a/docs/man/.doctrees/lorax.doctree b/docs/man/.doctrees/lorax.doctree index f9be5789..30771708 100644 Binary files a/docs/man/.doctrees/lorax.doctree and b/docs/man/.doctrees/lorax.doctree differ diff --git a/docs/man/.doctrees/modules.doctree b/docs/man/.doctrees/modules.doctree index c96b257e..672b0023 100644 Binary files a/docs/man/.doctrees/modules.doctree and b/docs/man/.doctrees/modules.doctree differ diff --git a/docs/man/.doctrees/product-images.doctree b/docs/man/.doctrees/product-images.doctree index f1addd6a..2025b6c8 100644 Binary files a/docs/man/.doctrees/product-images.doctree and b/docs/man/.doctrees/product-images.doctree differ diff --git a/docs/man/.doctrees/pylorax.api.doctree b/docs/man/.doctrees/pylorax.api.doctree index 0c572ee6..d4268150 100644 Binary files a/docs/man/.doctrees/pylorax.api.doctree and b/docs/man/.doctrees/pylorax.api.doctree differ diff --git a/docs/man/.doctrees/pylorax.doctree b/docs/man/.doctrees/pylorax.doctree index 9ba391ac..bf3d0256 100644 Binary files a/docs/man/.doctrees/pylorax.doctree and b/docs/man/.doctrees/pylorax.doctree differ diff --git a/docs/man/composer-cli.1 b/docs/man/composer-cli.1 index 8faf3864..daed028e 100644 --- a/docs/man/composer-cli.1 +++ b/docs/man/composer-cli.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "COMPOSER-CLI" "1" "Jul 29, 2019" "31.9" "Lorax" +.TH "COMPOSER-CLI" "1" "Dec 19, 2019" "31.10" "Lorax" .SH NAME composer-cli \- Composer Cmdline Utility Documentation . @@ -50,9 +50,7 @@ Lorax Composer commandline tool .sp .nf .ft C -usage: composer\-cli [\-h] [\-j] [\-s SOCKET] [\-\-log LOG] [\-a APIVER] - [\-\-test TESTMODE] [\-V] - ... +usage: composer\-cli [\-h] [\-j] [\-s SOCKET] [\-\-log LOG] [\-a APIVER] [\-\-test TESTMODE] [\-V] ... .ft P .fi .UNINDENT diff --git a/docs/man/livemedia-creator.1 b/docs/man/livemedia-creator.1 index a38f5b55..6d7d6ae9 100644 --- a/docs/man/livemedia-creator.1 +++ b/docs/man/livemedia-creator.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "LIVEMEDIA-CREATOR" "1" "Jul 29, 2019" "31.9" "Lorax" +.TH "LIVEMEDIA-CREATOR" "1" "Dec 19, 2019" "31.10" "Lorax" .SH NAME livemedia-creator \- Live Media Creator Documentation . @@ -77,37 +77,13 @@ Create Live Install Media .sp .nf .ft C -usage: livemedia\-creator [\-h] - (\-\-make\-iso | \-\-make\-disk | \-\-make\-fsimage | \-\-make\-appliance | \-\-make\-ami | \-\-make\-tar | \-\-make\-tar\-disk | \-\-make\-pxe\-live | \-\-make\-ostree\-live | \-\-make\-oci | \-\-make\-vagrant) - [\-\-iso ISO] [\-\-iso\-only] [\-\-iso\-name ISO_NAME] - [\-\-ks KS] [\-\-image\-only] [\-\-no\-virt] [\-\-proxy PROXY] - [\-\-anaconda\-arg ANACONDA_ARGS] - [\-\-armplatform ARMPLATFORM] [\-\-location LOCATION] - [\-\-logfile LOGFILE] - [\-\-lorax\-templates LORAX_TEMPLATES] [\-\-tmp TMP] - [\-\-resultdir RESULT_DIR] [\-\-macboot] [\-\-nomacboot] - [\-\-extra\-boot\-args EXTRA_BOOT_ARGS] - [\-\-disk\-image DISK_IMAGE] [\-\-keep\-image] - [\-\-fs\-image FS_IMAGE] [\-\-image\-name IMAGE_NAME] - [\-\-tar\-disk\-name TAR_DISK_NAME] [\-\-fs\-label FS_LABEL] - [\-\-image\-size\-align IMAGE_SIZE_ALIGN] - [\-\-image\-type IMAGE_TYPE] [\-\-qemu\-arg QEMU_ARGS] - [\-\-qcow2] [\-\-qcow2\-arg QEMU_ARGS] - [\-\-compression COMPRESSION] - [\-\-compress\-arg COMPRESS_ARGS] [\-\-app\-name APP_NAME] - [\-\-app\-template APP_TEMPLATE] [\-\-app\-file APP_FILE] - [\-\-ram MEMORY] [\-\-vcpus VCPUS] [\-\-vnc VNC] - [\-\-arch ARCH] [\-\-kernel\-args KERNEL_ARGS] - [\-\-ovmf\-path OVMF_PATH] [\-\-virt\-uefi] [\-\-no\-kvm] - [\-\-with\-rng WITH_RNG] [\-\-dracut\-arg DRACUT_ARGS] - [\-\-live\-rootfs\-size LIVE_ROOTFS_SIZE] - [\-\-live\-rootfs\-keep\-size] [\-\-oci\-config OCI_CONFIG] - [\-\-oci\-runtime OCI_RUNTIME] - [\-\-vagrant\-metadata VAGRANT_METADATA] - [\-\-vagrantfile VAGRANTFILE] [\-\-title TITLE] - [\-\-project PROJECT] [\-\-releasever RELEASEVER] - [\-\-volid VOLID] [\-\-squashfs\-only] - [\-\-squashfs_args SQUASHFS_ARGS] [\-\-timeout TIMEOUT] +usage: livemedia\-creator [\-h] (\-\-make\-iso | \-\-make\-disk | \-\-make\-fsimage | \-\-make\-appliance | \-\-make\-ami | \-\-make\-tar | \-\-make\-tar\-disk | \-\-make\-pxe\-live | \-\-make\-ostree\-live | \-\-make\-oci | \-\-make\-vagrant) [\-\-iso ISO] [\-\-iso\-only] + [\-\-iso\-name ISO_NAME] [\-\-ks KS] [\-\-image\-only] [\-\-no\-virt] [\-\-proxy PROXY] [\-\-anaconda\-arg ANACONDA_ARGS] [\-\-armplatform ARMPLATFORM] [\-\-location LOCATION] [\-\-logfile LOGFILE] [\-\-lorax\-templates LORAX_TEMPLATES] + [\-\-tmp TMP] [\-\-resultdir RESULT_DIR] [\-\-macboot] [\-\-nomacboot] [\-\-extra\-boot\-args EXTRA_BOOT_ARGS] [\-\-disk\-image DISK_IMAGE] [\-\-keep\-image] [\-\-fs\-image FS_IMAGE] [\-\-image\-name IMAGE_NAME] + [\-\-tar\-disk\-name TAR_DISK_NAME] [\-\-fs\-label FS_LABEL] [\-\-image\-size\-align IMAGE_SIZE_ALIGN] [\-\-image\-type IMAGE_TYPE] [\-\-qemu\-arg QEMU_ARGS] [\-\-qcow2] [\-\-qcow2\-arg QEMU_ARGS] [\-\-compression COMPRESSION] + [\-\-compress\-arg COMPRESS_ARGS] [\-\-app\-name APP_NAME] [\-\-app\-template APP_TEMPLATE] [\-\-app\-file APP_FILE] [\-\-ram MEMORY] [\-\-vcpus VCPUS] [\-\-vnc VNC] [\-\-arch ARCH] [\-\-kernel\-args KERNEL_ARGS] + [\-\-ovmf\-path OVMF_PATH] [\-\-virt\-uefi] [\-\-no\-kvm] [\-\-with\-rng WITH_RNG] [\-\-dracut\-arg DRACUT_ARGS] [\-\-live\-rootfs\-size LIVE_ROOTFS_SIZE] [\-\-live\-rootfs\-keep\-size] [\-\-oci\-config OCI_CONFIG] + [\-\-oci\-runtime OCI_RUNTIME] [\-\-vagrant\-metadata VAGRANT_METADATA] [\-\-vagrantfile VAGRANTFILE] [\-\-title TITLE] [\-\-project PROJECT] [\-\-releasever RELEASEVER] [\-\-volid VOLID] [\-\-squashfs\-only] [\-\-timeout TIMEOUT] [\-V] .ft P .fi @@ -257,9 +233,6 @@ Use a plain squashfs filesystem for the runtime. .sp Default: False .TP -.B\-\-squashfs_args -additional squashfs args -.TP .B\-\-timeout Cancel installer after X minutes .TP diff --git a/docs/man/lorax-composer.1 b/docs/man/lorax-composer.1 index f074097b..4fb8d2d6 100644 --- a/docs/man/lorax-composer.1 +++ b/docs/man/lorax-composer.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "LORAX-COMPOSER" "1" "Jul 29, 2019" "31.9" "Lorax" +.TH "LORAX-COMPOSER" "1" "Dec 19, 2019" "31.10" "Lorax" .SH NAME lorax-composer \- Lorax Composer Documentation . @@ -124,12 +124,7 @@ Lorax Composer API Server .sp .nf .ft C -usage: lorax\-composer [\-h] [\-\-socket SOCKET] [\-\-user USER] [\-\-group GROUP] - [\-\-log LOG] [\-\-mockfiles MOCKFILES] - [\-\-sharedir SHAREDIR] [\-V] [\-c CONFIG] - [\-\-releasever STRING] [\-\-tmp TMP] [\-\-proxy PROXY] - [\-\-no\-system\-repos] - BLUEPRINTS +usage: lorax\-composer [\-h] [\-\-socket SOCKET] [\-\-user USER] [\-\-group GROUP] [\-\-log LOG] [\-\-mockfiles MOCKFILES] [\-\-sharedir SHAREDIR] [\-V] [\-c CONFIG] [\-\-releasever STRING] [\-\-tmp TMP] [\-\-proxy PROXY] [\-\-no\-system\-repos] BLUEPRINTS .ft P .fi .UNINDENT @@ -262,12 +257,30 @@ The names must match the names exactly, and the versions can be an exact match or a filesystem\-like glob of the version using \fB*\fP wildcards and \fB?\fP character matching. .sp -NOTE: As of lorax\-composer\-29.2\-1 the versions are not used for depsolving, -that is planned for a future release. And currently there are no differences -between \fBpackages\fP and \fBmodules\fP in \fBlorax\-composer\fP\&. +NOTE: Currently there are no differences between \fBpackages\fP and \fBmodules\fP +in \fBlorax\-composer\fP\&. Both are treated like an rpm package dependency. +.sp +For example, to install \fBtmux\-2.9a\fP and \fBopenssh\-server\-8.*\fP, you would add +this to your blueprint: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +[[packages]] +name = "tmux" +version = "2.9a" + +[[packages]] +name = "openssh\-server" +version = "8.*" +.ft P +.fi +.UNINDENT +.UNINDENT .SS [[groups]] .sp -These entries describe a group of packages to be installed into the image. Package groups are +The \fBgroups\fP entries describe a group of packages to be installed into the image. Package groups are defined in the repository metadata. Each group has a descriptive name used primarily for display in user interfaces and an ID more commonly used in kickstart files. Here, the ID is the expected way of listing a group. @@ -275,6 +288,23 @@ way of listing a group. Groups have three different ways of categorizing their packages: mandatory, default, and optional. For purposes of blueprints, mandatory and default packages will be installed. There is no mechanism for selecting optional packages. +.sp +For example, if you want to install the \fBanaconda\-tools\fP group you would add this to your +blueprint: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +[[groups]] +name="anaconda\-tools" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBgroups\fP is a TOML list, so each group needs to be listed separately, like \fBpackages\fP but with +no version number. .SS Customizations .sp The \fB[customizations]\fP section can be used to configure the hostname of the final image. eg.: diff --git a/docs/man/lorax.1 b/docs/man/lorax.1 index a0ea931f..2850e974 100644 --- a/docs/man/lorax.1 +++ b/docs/man/lorax.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "LORAX" "1" "Jul 29, 2019" "31.9" "Lorax" +.TH "LORAX" "1" "Dec 19, 2019" "31.10" "Lorax" .SH NAME lorax \- Lorax Documentation . @@ -55,20 +55,10 @@ Create the Anaconda boot.iso .sp .nf .ft C -usage: lorax [\-h] \-p PRODUCT \-v VERSION \-r RELEASE [\-s REPOSITORY] - [\-\-repo REPOSITORY] [\-m REPOSITORY] [\-t VARIANT] [\-b URL] - [\-\-isfinal] [\-c CONFIGFILE] [\-\-proxy HOST] [\-i PACKAGE] - [\-e PACKAGE] [\-\-buildarch ARCH] [\-\-volid VOLID] [\-\-macboot] - [\-\-nomacboot] [\-\-noupgrade] [\-\-logfile LOGFILE] [\-\-tmp TMP] - [\-\-cachedir CACHEDIR] [\-\-workdir WORKDIR] [\-\-force] - [\-\-add\-template ADD_TEMPLATES] - [\-\-add\-template\-var ADD_TEMPLATE_VARS] - [\-\-add\-arch\-template ADD_ARCH_TEMPLATES] - [\-\-add\-arch\-template\-var ADD_ARCH_TEMPLATE_VARS] [\-\-noverify] - [\-\-sharedir SHAREDIR] [\-\-enablerepo [repo]] - [\-\-disablerepo [repo]] [\-\-rootfs\-size ROOTFS_SIZE] - [\-\-noverifyssl] [\-\-dnfplugin DNFPLUGINS] [\-\-squashfs\-only] - [\-\-dracut\-arg DRACUT_ARGS] [\-V] +usage: lorax [\-h] \-p PRODUCT \-v VERSION \-r RELEASE [\-s REPOSITORY] [\-\-repo REPOSITORY] [\-m REPOSITORY] [\-t VARIANT] [\-b URL] [\-\-isfinal] [\-c CONFIGFILE] [\-\-proxy HOST] [\-i PACKAGE] [\-e PACKAGE] [\-\-buildarch ARCH] [\-\-volid VOLID] + [\-\-macboot] [\-\-nomacboot] [\-\-noupgrade] [\-\-logfile LOGFILE] [\-\-tmp TMP] [\-\-cachedir CACHEDIR] [\-\-workdir WORKDIR] [\-\-force] [\-\-add\-template ADD_TEMPLATES] [\-\-add\-template\-var ADD_TEMPLATE_VARS] + [\-\-add\-arch\-template ADD_ARCH_TEMPLATES] [\-\-add\-arch\-template\-var ADD_ARCH_TEMPLATE_VARS] [\-\-noverify] [\-\-sharedir SHAREDIR] [\-\-enablerepo [repo]] [\-\-disablerepo [repo]] [\-\-rootfs\-size ROOTFS_SIZE] [\-\-noverifyssl] + [\-\-dnfplugin DNFPLUGINS] [\-\-squashfs\-only] [\-\-dracut\-arg DRACUT_ARGS] [\-V] OUTPUTDIR .ft P .fi diff --git a/docs/pylorax.api.rst b/docs/pylorax.api.rst index 673489c2..25a05cee 100644 --- a/docs/pylorax.api.rst +++ b/docs/pylorax.api.rst @@ -132,6 +132,14 @@ pylorax.api.toml module :undoc-members: :show-inheritance: +pylorax.api.utils module +------------------------ + +.. automodule:: pylorax.api.utils + :members: + :undoc-members: + :show-inheritance: + pylorax.api.v0 module --------------------- @@ -140,6 +148,14 @@ pylorax.api.v0 module :undoc-members: :show-inheritance: +pylorax.api.v1 module +--------------------- + +.. automodule:: pylorax.api.v1 + :members: + :undoc-members: + :show-inheritance: + pylorax.api.workspace module ----------------------------