New lorax documentation - 28.14.21

Related: rhbz#1650295
This commit is contained in:
Brian C. Lane 2019-01-09 10:23:13 -08:00
parent 1a8591fdd5
commit 14d43a3d47
61 changed files with 338 additions and 300 deletions

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1 # 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. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 61a9487c058b2d9f55faeb126418ffee config: 96150b9a7ab1a77a035ab8724e0eeb8e
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Overview: module code &mdash; Lorax 28.14.17 documentation</title> <title>Overview: module code &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -213,7 +213,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../', URL_ROOT:'../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax &mdash; Lorax 28.14.17 documentation</title> <title>pylorax &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -642,7 +642,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../', URL_ROOT:'../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.cmdline &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.cmdline &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -253,7 +253,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.compose &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.compose &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -867,7 +867,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.config &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.config &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -303,7 +303,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.crossdomain &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.crossdomain &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -254,7 +254,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.projects &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.projects &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -795,7 +795,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.queue &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.queue &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -820,7 +820,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.recipes &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.recipes &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -1112,7 +1112,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.server &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.server &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -272,7 +272,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.v0 &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.v0 &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -2229,7 +2229,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api.workspace &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api.workspace &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -289,7 +289,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../', URL_ROOT:'../../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.base &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.base &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -257,7 +257,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.buildstamp &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.buildstamp &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -251,7 +251,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.cmdline &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.cmdline &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -259,8 +259,8 @@
<span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;[repo]&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Names of repos to enable&quot;</span><span class="p">)</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;[repo]&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Names of repos to enable&quot;</span><span class="p">)</span>
<span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--disablerepo&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="p">[],</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;disablerepos&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--disablerepo&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="p">[],</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;disablerepos&quot;</span><span class="p">,</span>
<span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;[repo]&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Names of repos to disable&quot;</span><span class="p">)</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;[repo]&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Names of repos to disable&quot;</span><span class="p">)</span>
<span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--rootfs-size&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="nb">int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--rootfs-size&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="nb">int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;Size of root filesystem in GiB. Defaults to 2.&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Size of root filesystem in GiB. Defaults to 3.&quot;</span><span class="p">)</span>
<span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--noverifyssl&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;store_true&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--noverifyssl&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;store_true&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;Do not verify SSL certificates&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Do not verify SSL certificates&quot;</span><span class="p">)</span>
@ -443,7 +443,7 @@
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;Substituted for @TITLE@ in bootloader config files&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Substituted for @TITLE@ in bootloader config files&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--project&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;Linux&quot;</span><span class="p">,</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--project&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;Linux&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @PROJECT@ in bootloader config files&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @PROJECT@ in bootloader config files&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--releasever&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;28&quot;</span><span class="p">,</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--releasever&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;8&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @VERSION@ in bootloader config files&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @VERSION@ in bootloader config files&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--volid&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;volume id&quot;</span><span class="p">)</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--volid&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;volume id&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--squashfs_args&quot;</span><span class="p">,</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--squashfs_args&quot;</span><span class="p">,</span>
@ -492,7 +492,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.creator &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.creator &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -612,13 +612,15 @@
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Using disk size of </span><span class="si">%s</span><span class="s2">MiB&quot;</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Using disk size of </span><span class="si">%s</span><span class="s2">MiB&quot;</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">)</span>
<span class="k">return</span> <span class="n">disk_size</span></div> <span class="k">return</span> <span class="n">disk_size</span></div>
<div class="viewcode-block" id="make_image"><a class="viewcode-back" href="../../pylorax.html#pylorax.creator.make_image">[docs]</a><span class="k">def</span> <span class="nf">make_image</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">ks</span><span class="p">):</span> <div class="viewcode-block" id="make_image"><a class="viewcode-back" href="../../pylorax.html#pylorax.creator.make_image">[docs]</a><span class="k">def</span> <span class="nf">make_image</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">ks</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Install to a disk image</span> <span class="sd"> Install to a disk image</span>
<span class="sd"> :param opts: options passed to livemedia-creator</span> <span class="sd"> :param opts: options passed to livemedia-creator</span>
<span class="sd"> :type opts: argparse options</span> <span class="sd"> :type opts: argparse options</span>
<span class="sd"> :param str ks: Path to the kickstart to use for the installation</span> <span class="sd"> :param str ks: Path to the kickstart to use for the installation</span>
<span class="sd"> :param cancel_func: Function that returns True to cancel build</span>
<span class="sd"> :type cancel_func: function</span>
<span class="sd"> :returns: Path of the image created</span> <span class="sd"> :returns: Path of the image created</span>
<span class="sd"> :rtype: str</span> <span class="sd"> :rtype: str</span>
@ -632,12 +634,12 @@
<span class="n">disk_size</span> <span class="o">=</span> <span class="n">calculate_disk_size</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">ks</span><span class="p">)</span> <span class="n">disk_size</span> <span class="o">=</span> <span class="n">calculate_disk_size</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">ks</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">no_virt</span><span class="p">:</span> <span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">no_virt</span><span class="p">:</span>
<span class="n">novirt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">)</span> <span class="n">novirt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="n">cancel_func</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="n">install_log</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">opts</span><span class="o">.</span><span class="n">logfile</span><span class="p">))</span><span class="o">+</span><span class="s2">&quot;/virt-install.log&quot;</span> <span class="n">install_log</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">opts</span><span class="o">.</span><span class="n">logfile</span><span class="p">))</span><span class="o">+</span><span class="s2">&quot;/virt-install.log&quot;</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;install_log = </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">install_log</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;install_log = </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">install_log</span><span class="p">)</span>
<span class="n">virt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">install_log</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">)</span> <span class="n">virt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">install_log</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="n">cancel_func</span><span class="p">)</span>
<span class="k">except</span> <span class="n">InstallError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="k">except</span> <span class="n">InstallError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Install failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Install failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">keep_image</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">disk_img</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">keep_image</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">disk_img</span><span class="p">):</span>
@ -732,11 +734,13 @@
<span class="k">return</span> <span class="n">work_dir</span></div> <span class="k">return</span> <span class="n">work_dir</span></div>
<div class="viewcode-block" id="run_creator"><a class="viewcode-back" href="../../pylorax.html#pylorax.creator.run_creator">[docs]</a><span class="k">def</span> <span class="nf">run_creator</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">callback_func</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <div class="viewcode-block" id="run_creator"><a class="viewcode-back" href="../../pylorax.html#pylorax.creator.run_creator">[docs]</a><span class="k">def</span> <span class="nf">run_creator</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Run the image creator process</span> <span class="sd">&quot;&quot;&quot;Run the image creator process</span>
<span class="sd"> :param opts: Commandline options to control the process</span> <span class="sd"> :param opts: Commandline options to control the process</span>
<span class="sd"> :type opts: Either a DataHolder or ArgumentParser</span> <span class="sd"> :type opts: Either a DataHolder or ArgumentParser</span>
<span class="sd"> :param cancel_func: Function that returns True to cancel build</span>
<span class="sd"> :type cancel_func: function</span>
<span class="sd"> :returns: The result directory and the disk image path.</span> <span class="sd"> :returns: The result directory and the disk image path.</span>
<span class="sd"> :rtype: Tuple of str</span> <span class="sd"> :rtype: Tuple of str</span>
@ -795,7 +799,7 @@
<span class="c1"># Make the image. Output of this is either a partitioned disk image or a fsimage</span> <span class="c1"># Make the image. Output of this is either a partitioned disk image or a fsimage</span>
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="n">disk_img</span> <span class="o">=</span> <span class="n">make_image</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">ks</span><span class="p">)</span> <span class="n">disk_img</span> <span class="o">=</span> <span class="n">make_image</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">ks</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="n">cancel_func</span><span class="p">)</span>
<span class="k">except</span> <span class="n">InstallError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="k">except</span> <span class="n">InstallError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;ERROR: Image creation failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;ERROR: Image creation failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Image creation failed: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">e</span><span class="p">)</span> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Image creation failed: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">e</span><span class="p">)</span>
@ -815,6 +819,9 @@
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;squashfs.img creation failed&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;squashfs.img creation failed&quot;</span><span class="p">)</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;squashfs.img creation failed&quot;</span><span class="p">)</span> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;squashfs.img creation failed&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">cancel_func</span> <span class="ow">and</span> <span class="n">cancel_func</span><span class="p">():</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;ISO creation canceled&quot;</span><span class="p">)</span>
<span class="k">with</span> <span class="n">Mount</span><span class="p">(</span><span class="n">disk_img</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="s2">&quot;loop&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">mount_dir</span><span class="p">:</span> <span class="k">with</span> <span class="n">Mount</span><span class="p">(</span><span class="n">disk_img</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="s2">&quot;loop&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">mount_dir</span><span class="p">:</span>
<span class="n">result_dir</span> <span class="o">=</span> <span class="n">make_livecd</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">mount_dir</span><span class="p">,</span> <span class="n">work_dir</span><span class="p">)</span> <span class="n">result_dir</span> <span class="o">=</span> <span class="n">make_livecd</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">mount_dir</span><span class="p">,</span> <span class="n">work_dir</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
@ -904,7 +911,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.decorators &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.decorators &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -220,7 +220,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.discinfo &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.discinfo &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -229,7 +229,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.dnfhelper &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.dnfhelper &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -300,7 +300,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.executils &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.executils &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -537,7 +537,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.imgutils &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.imgutils &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -603,6 +603,9 @@
<span class="n">copytree</span><span class="p">(</span><span class="n">rootdir</span><span class="p">,</span> <span class="n">mnt</span><span class="p">,</span> <span class="n">preserve</span><span class="p">)</span> <span class="n">copytree</span><span class="p">(</span><span class="n">rootdir</span><span class="p">,</span> <span class="n">mnt</span><span class="p">,</span> <span class="n">preserve</span><span class="p">)</span>
<span class="n">do_grafts</span><span class="p">(</span><span class="n">graft</span><span class="p">,</span> <span class="n">mnt</span><span class="p">,</span> <span class="n">preserve</span><span class="p">)</span> <span class="n">do_grafts</span><span class="p">(</span><span class="n">graft</span><span class="p">,</span> <span class="n">mnt</span><span class="p">,</span> <span class="n">preserve</span><span class="p">)</span>
<span class="c1"># Save information about filesystem usage</span>
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">&quot;df&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">mnt</span><span class="p">])</span>
<span class="c1"># Make absolutely sure that the data has been written</span> <span class="c1"># Make absolutely sure that the data has been written</span>
<span class="n">runcmd</span><span class="p">([</span><span class="s2">&quot;sync&quot;</span><span class="p">])</span></div> <span class="n">runcmd</span><span class="p">([</span><span class="s2">&quot;sync&quot;</span><span class="p">])</span></div>
@ -696,7 +699,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.installer &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.installer &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -293,7 +293,7 @@
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">opts</span><span class="p">,</span> <span class="n">iso</span><span class="p">,</span> <span class="n">ks_paths</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">img_size</span><span class="o">=</span><span class="mi">2048</span><span class="p">,</span> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">opts</span><span class="p">,</span> <span class="n">iso</span><span class="p">,</span> <span class="n">ks_paths</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">img_size</span><span class="o">=</span><span class="mi">2048</span><span class="p">,</span>
<span class="n">kernel_args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">memory</span><span class="o">=</span><span class="mi">1024</span><span class="p">,</span> <span class="n">vcpus</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vnc</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">arch</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">kernel_args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">memory</span><span class="o">=</span><span class="mi">1024</span><span class="p">,</span> <span class="n">vcpus</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vnc</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">arch</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<span class="n">log_check</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">virtio_host</span><span class="o">=</span><span class="s2">&quot;127.0.0.1&quot;</span><span class="p">,</span> <span class="n">virtio_port</span><span class="o">=</span><span class="mi">6080</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">virtio_host</span><span class="o">=</span><span class="s2">&quot;127.0.0.1&quot;</span><span class="p">,</span> <span class="n">virtio_port</span><span class="o">=</span><span class="mi">6080</span><span class="p">,</span>
<span class="n">image_type</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">boot_uefi</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">ovmf_path</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <span class="n">image_type</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">boot_uefi</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">ovmf_path</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Start the installation</span> <span class="sd"> Start the installation</span>
@ -309,8 +309,8 @@
<span class="sd"> :param int vcpus: Number of virtual cpus</span> <span class="sd"> :param int vcpus: Number of virtual cpus</span>
<span class="sd"> :param str vnc: Arguments to pass to qemu -display</span> <span class="sd"> :param str vnc: Arguments to pass to qemu -display</span>
<span class="sd"> :param str arch: Optional architecture to use in the virt</span> <span class="sd"> :param str arch: Optional architecture to use in the virt</span>
<span class="sd"> :param log_check: Method that returns True if the installation fails</span> <span class="sd"> :param cancel_func: Function that returns True if the installation fails</span>
<span class="sd"> :type log_check: method</span> <span class="sd"> :type cancel_func: function</span>
<span class="sd"> :param str virtio_host: Hostname to connect virtio log to</span> <span class="sd"> :param str virtio_host: Hostname to connect virtio log to</span>
<span class="sd"> :param int virtio_port: Port to connect virtio log to</span> <span class="sd"> :param int virtio_port: Port to connect virtio log to</span>
<span class="sd"> :param str image_type: Type of qemu-img disk to create, or None.</span> <span class="sd"> :param str image_type: Type of qemu-img disk to create, or None.</span>
@ -399,7 +399,7 @@
<span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">qemu_cmd</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">qemu_cmd</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="n">execWithRedirect</span><span class="p">(</span><span class="n">qemu_cmd</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">qemu_cmd</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span> <span class="n">reset_lang</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">raise_err</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">execWithRedirect</span><span class="p">(</span><span class="n">qemu_cmd</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">qemu_cmd</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span> <span class="n">reset_lang</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">raise_err</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="n">callback</span><span class="o">=</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="ow">not</span> <span class="n">log_check</span><span class="p">())</span> <span class="n">callback</span><span class="o">=</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="ow">not</span> <span class="n">cancel_func</span><span class="p">())</span>
<span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Running qemu failed:&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Running qemu failed:&quot;</span><span class="p">)</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;cmd: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">cmd</span><span class="p">))</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;cmd: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">cmd</span><span class="p">))</span>
@ -413,27 +413,30 @@
<span class="k">if</span> <span class="n">boot_uefi</span> <span class="ow">and</span> <span class="n">ovmf_path</span><span class="p">:</span> <span class="k">if</span> <span class="n">boot_uefi</span> <span class="ow">and</span> <span class="n">ovmf_path</span><span class="p">:</span>
<span class="n">os</span><span class="o">.</span><span class="n">unlink</span><span class="p">(</span><span class="n">ovmf_vars</span><span class="p">)</span> <span class="n">os</span><span class="o">.</span><span class="n">unlink</span><span class="p">(</span><span class="n">ovmf_vars</span><span class="p">)</span>
<span class="k">if</span> <span class="n">log_check</span><span class="p">():</span> <span class="k">if</span> <span class="n">cancel_func</span><span class="p">():</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Installation error detected. See logfile for details.&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Installation error detected. See logfile for details.&quot;</span><span class="p">)</span>
<span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="s2">&quot;QEMUInstall failed&quot;</span><span class="p">)</span> <span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="s2">&quot;QEMUInstall failed&quot;</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Installation finished without errors.&quot;</span><span class="p">)</span></div> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Installation finished without errors.&quot;</span><span class="p">)</span></div>
<div class="viewcode-block" id="novirt_log_check"><a class="viewcode-back" href="../../pylorax.html#pylorax.installer.novirt_log_check">[docs]</a><span class="k">def</span> <span class="nf">novirt_log_check</span><span class="p">(</span><span class="n">log_check</span><span class="p">,</span> <span class="n">proc</span><span class="p">):</span> <div class="viewcode-block" id="novirt_cancel_check"><a class="viewcode-back" href="../../pylorax.html#pylorax.installer.novirt_cancel_check">[docs]</a><span class="k">def</span> <span class="nf">novirt_cancel_check</span><span class="p">(</span><span class="n">cancel_funcs</span><span class="p">,</span> <span class="n">proc</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Check to see if there has been an error in the logs</span> <span class="sd"> Check to see if there has been an error in the logs</span>
<span class="sd"> :param log_check: method to call to check for an error in the logs</span> <span class="sd"> :param cancel_funcs: list of functions to call, True from any one cancels the build</span>
<span class="sd"> :type cancel_funcs: list</span>
<span class="sd"> :param proc: Popen object for the anaconda process</span> <span class="sd"> :param proc: Popen object for the anaconda process</span>
<span class="sd"> :type proc: subprocess.Popen</span>
<span class="sd"> :returns: True if the process has been terminated</span> <span class="sd"> :returns: True if the process has been terminated</span>
<span class="sd"> The log_check method should return a True if an error has been detected.</span> <span class="sd"> The cancel_funcs functions should return a True if an error has been detected.</span>
<span class="sd"> When an error is detected the process is terminated and this returns True</span> <span class="sd"> When an error is detected the process is terminated and this returns True</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">log_check</span><span class="p">():</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">cancel_funcs</span><span class="p">:</span>
<span class="n">proc</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span> <span class="k">if</span> <span class="n">f</span><span class="p">():</span>
<span class="k">return</span> <span class="kc">True</span> <span class="n">proc</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
<span class="k">return</span> <span class="kc">True</span>
<span class="k">return</span> <span class="kc">False</span></div> <span class="k">return</span> <span class="kc">False</span></div>
@ -464,7 +467,7 @@
<span class="k">return</span> <span class="n">rc</span></div> <span class="k">return</span> <span class="n">rc</span></div>
<div class="viewcode-block" id="novirt_install"><a class="viewcode-back" href="../../pylorax.html#pylorax.installer.novirt_install">[docs]</a><span class="k">def</span> <span class="nf">novirt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">):</span> <div class="viewcode-block" id="novirt_install"><a class="viewcode-back" href="../../pylorax.html#pylorax.installer.novirt_install">[docs]</a><span class="k">def</span> <span class="nf">novirt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Use Anaconda to install to a disk image</span> <span class="sd"> Use Anaconda to install to a disk image</span>
@ -472,6 +475,8 @@
<span class="sd"> :type opts: argparse options</span> <span class="sd"> :type opts: argparse options</span>
<span class="sd"> :param str disk_img: The full path to the disk image to be created</span> <span class="sd"> :param str disk_img: The full path to the disk image to be created</span>
<span class="sd"> :param int disk_size: The size of the disk_img in MiB</span> <span class="sd"> :param int disk_size: The size of the disk_img in MiB</span>
<span class="sd"> :param cancel_func: Function that returns True to cancel build</span>
<span class="sd"> :type cancel_func: function</span>
<span class="sd"> This method runs anaconda to create the image and then based on the opts</span> <span class="sd"> This method runs anaconda to create the image and then based on the opts</span>
<span class="sd"> passed creates a qemu disk image or tarfile.</span> <span class="sd"> passed creates a qemu disk image or tarfile.</span>
@ -521,6 +526,9 @@
<span class="n">log_monitor</span> <span class="o">=</span> <span class="n">LogMonitor</span><span class="p">(</span><span class="n">timeout</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">timeout</span><span class="p">)</span> <span class="n">log_monitor</span> <span class="o">=</span> <span class="n">LogMonitor</span><span class="p">(</span><span class="n">timeout</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">timeout</span><span class="p">)</span>
<span class="n">args</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;--remotelog&quot;</span><span class="p">,</span> <span class="s2">&quot;</span><span class="si">%s</span><span class="s2">:</span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">log_monitor</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">port</span><span class="p">)]</span> <span class="n">args</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;--remotelog&quot;</span><span class="p">,</span> <span class="s2">&quot;</span><span class="si">%s</span><span class="s2">:</span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">log_monitor</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">port</span><span class="p">)]</span>
<span class="n">cancel_funcs</span> <span class="o">=</span> <span class="p">[</span><span class="n">log_monitor</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">log_check</span><span class="p">]</span>
<span class="k">if</span> <span class="n">cancel_func</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">cancel_funcs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cancel_func</span><span class="p">)</span>
<span class="c1"># Make sure anaconda has the right product and release</span> <span class="c1"># Make sure anaconda has the right product and release</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Running anaconda.&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Running anaconda.&quot;</span><span class="p">)</span>
@ -528,7 +536,7 @@
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">execReadlines</span><span class="p">(</span><span class="s2">&quot;anaconda&quot;</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">reset_lang</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">execReadlines</span><span class="p">(</span><span class="s2">&quot;anaconda&quot;</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">reset_lang</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
<span class="n">env_add</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;ANACONDA_PRODUCTNAME&quot;</span><span class="p">:</span> <span class="n">opts</span><span class="o">.</span><span class="n">project</span><span class="p">,</span> <span class="n">env_add</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;ANACONDA_PRODUCTNAME&quot;</span><span class="p">:</span> <span class="n">opts</span><span class="o">.</span><span class="n">project</span><span class="p">,</span>
<span class="s2">&quot;ANACONDA_PRODUCTVERSION&quot;</span><span class="p">:</span> <span class="n">opts</span><span class="o">.</span><span class="n">releasever</span><span class="p">},</span> <span class="s2">&quot;ANACONDA_PRODUCTVERSION&quot;</span><span class="p">:</span> <span class="n">opts</span><span class="o">.</span><span class="n">releasever</span><span class="p">},</span>
<span class="n">callback</span><span class="o">=</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="ow">not</span> <span class="n">novirt_log_check</span><span class="p">(</span><span class="n">log_monitor</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">log_check</span><span class="p">,</span> <span class="n">p</span><span class="p">)):</span> <span class="n">callback</span><span class="o">=</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="ow">not</span> <span class="n">novirt_cancel_check</span><span class="p">(</span><span class="n">cancel_funcs</span><span class="p">,</span> <span class="n">p</span><span class="p">)):</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
<span class="c1"># Make sure the new filesystem is correctly labeled</span> <span class="c1"># Make sure the new filesystem is correctly labeled</span>
@ -574,10 +582,14 @@
<span class="k">if</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_iso</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_fsimage</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_pxe_live</span><span class="p">:</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_iso</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_fsimage</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_pxe_live</span><span class="p">:</span>
<span class="n">dm_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">disk_img</span><span class="p">))[</span><span class="mi">0</span><span class="p">]</span> <span class="n">dm_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">disk_img</span><span class="p">))[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">dm_path</span> <span class="o">=</span> <span class="s2">&quot;/dev/mapper/&quot;</span><span class="o">+</span><span class="n">dm_name</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">dm_path</span><span class="p">):</span> <span class="c1"># Remove device-mapper for partitions and disk</span>
<span class="n">dm_detach</span><span class="p">(</span><span class="n">dm_path</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Removing device-mapper setup on </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">dm_name</span><span class="p">)</span>
<span class="n">loop_detach</span><span class="p">(</span><span class="n">get_loop_name</span><span class="p">(</span><span class="n">disk_img</span><span class="p">))</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s2">&quot;/dev/mapper/&quot;</span><span class="o">+</span><span class="n">dm_name</span><span class="o">+</span><span class="s2">&quot;*&quot;</span><span class="p">),</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="n">dm_detach</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
<span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Removing loop device for </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">)</span>
<span class="n">loop_detach</span><span class="p">(</span><span class="s2">&quot;/dev/&quot;</span><span class="o">+</span><span class="n">get_loop_name</span><span class="p">(</span><span class="n">disk_img</span><span class="p">))</span>
<span class="c1"># qemu disk image is used by bare qcow2 images and by Vagrant</span> <span class="c1"># qemu disk image is used by bare qcow2 images and by Vagrant</span>
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">image_type</span><span class="p">:</span> <span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">image_type</span><span class="p">:</span>
@ -643,7 +655,7 @@
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">&quot;fallocate&quot;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;--dig-holes&quot;</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">],</span> <span class="n">raise_err</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div> <span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">&quot;fallocate&quot;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;--dig-holes&quot;</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">],</span> <span class="n">raise_err</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
<div class="viewcode-block" id="virt_install"><a class="viewcode-back" href="../../pylorax.html#pylorax.installer.virt_install">[docs]</a><span class="k">def</span> <span class="nf">virt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">install_log</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">):</span> <div class="viewcode-block" id="virt_install"><a class="viewcode-back" href="../../pylorax.html#pylorax.installer.virt_install">[docs]</a><span class="k">def</span> <span class="nf">virt_install</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">install_log</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">cancel_func</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Use qemu to install to a disk image</span> <span class="sd"> Use qemu to install to a disk image</span>
@ -652,6 +664,8 @@
<span class="sd"> :param str install_log: The path to write the log from qemu</span> <span class="sd"> :param str install_log: The path to write the log from qemu</span>
<span class="sd"> :param str disk_img: The full path to the disk image to be created</span> <span class="sd"> :param str disk_img: The full path to the disk image to be created</span>
<span class="sd"> :param int disk_size: The size of the disk_img in MiB</span> <span class="sd"> :param int disk_size: The size of the disk_img in MiB</span>
<span class="sd"> :param cancel_func: Function that returns True to cancel build</span>
<span class="sd"> :type cancel_func: function</span>
<span class="sd"> This uses qemu with a boot.iso and a kickstart to create a disk</span> <span class="sd"> This uses qemu with a boot.iso and a kickstart to create a disk</span>
<span class="sd"> image and then optionally, based on the opts passed, creates tarfile.</span> <span class="sd"> image and then optionally, based on the opts passed, creates tarfile.</span>
@ -662,6 +676,9 @@
<span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="s2">&quot;ISO is missing stage2, cannot continue&quot;</span><span class="p">)</span> <span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="s2">&quot;ISO is missing stage2, cannot continue&quot;</span><span class="p">)</span>
<span class="n">log_monitor</span> <span class="o">=</span> <span class="n">LogMonitor</span><span class="p">(</span><span class="n">install_log</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">timeout</span><span class="p">)</span> <span class="n">log_monitor</span> <span class="o">=</span> <span class="n">LogMonitor</span><span class="p">(</span><span class="n">install_log</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">timeout</span><span class="p">)</span>
<span class="n">cancel_funcs</span> <span class="o">=</span> <span class="p">[</span><span class="n">log_monitor</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">log_check</span><span class="p">]</span>
<span class="k">if</span> <span class="n">cancel_func</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">cancel_funcs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cancel_func</span><span class="p">)</span>
<span class="n">kernel_args</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span> <span class="n">kernel_args</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">kernel_args</span><span class="p">:</span> <span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">kernel_args</span><span class="p">:</span>
@ -686,7 +703,7 @@
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="n">QEMUInstall</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">iso_mount</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">ks</span><span class="p">,</span> <span class="n">diskimg_path</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">QEMUInstall</span><span class="p">(</span><span class="n">opts</span><span class="p">,</span> <span class="n">iso_mount</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">ks</span><span class="p">,</span> <span class="n">diskimg_path</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span>
<span class="n">kernel_args</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">ram</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">vcpus</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">vnc</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">arch</span><span class="p">,</span> <span class="n">kernel_args</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">ram</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">vcpus</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">vnc</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">arch</span><span class="p">,</span>
<span class="n">log_check</span> <span class="o">=</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">log_check</span><span class="p">,</span> <span class="n">cancel_func</span> <span class="o">=</span> <span class="k">lambda</span> <span class="p">:</span> <span class="nb">any</span><span class="p">(</span><span class="n">f</span><span class="p">()</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">cancel_funcs</span><span class="p">),</span>
<span class="n">virtio_host</span> <span class="o">=</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">virtio_host</span> <span class="o">=</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
<span class="n">virtio_port</span> <span class="o">=</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">port</span><span class="p">,</span> <span class="n">virtio_port</span> <span class="o">=</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
<span class="n">image_type</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">image_type</span><span class="p">,</span> <span class="n">boot_uefi</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">virt_uefi</span><span class="p">,</span> <span class="n">image_type</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">image_type</span><span class="p">,</span> <span class="n">boot_uefi</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">virt_uefi</span><span class="p">,</span>
@ -705,6 +722,8 @@
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;virt_install failed on line: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">error_line</span> <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;virt_install failed on line: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">log_monitor</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">error_line</span>
<span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">cancel_func</span><span class="p">():</span>
<span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="s2">&quot;virt_install canceled by cancel_func&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_fsimage</span><span class="p">:</span> <span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_fsimage</span><span class="p">:</span>
<span class="n">mkfsimage_from_disk</span><span class="p">(</span><span class="n">diskimg_path</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">fs_label</span><span class="p">)</span> <span class="n">mkfsimage_from_disk</span><span class="p">(</span><span class="n">diskimg_path</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">,</span> <span class="n">disk_size</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">fs_label</span><span class="p">)</span>
@ -797,7 +816,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.ltmpl &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.ltmpl &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -961,7 +961,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.monitor &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.monitor &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -385,7 +385,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.mount &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.mount &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -292,7 +292,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.sysutils &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.sysutils &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -322,7 +322,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.treebuilder &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.treebuilder &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -590,7 +590,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.treeinfo &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.treeinfo &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -247,7 +247,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -53,13 +53,13 @@ Quickstart
Run this to create a bootable live iso:: Run this to create a bootable live iso::
sudo livemedia-creator --make-iso \ sudo livemedia-creator --make-iso \
--iso=/extra/iso/boot.iso --ks=./docs/fedora-livemedia.ks --iso=/extra/iso/boot.iso --ks=./docs/rhel-livemedia.ks
You can run it directly from the lorax git repo like this:: You can run it directly from the lorax git repo like this::
sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia-creator \ sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia-creator \
--make-iso --iso=/extra/iso/boot.iso \ --make-iso --iso=/extra/iso/boot.iso \
--ks=./docs/fedora-livemedia.ks --lorax-templates=./share/ --ks=./docs/rhel-livemedia.ks --lorax-templates=./share/
You can observe the installation using vnc. The logs will show what port was You can observe the installation using vnc. The logs will show what port was
chosen, or you can use a specific port by passing it. eg. ``--vnc vnc:127.0.0.1:5`` chosen, or you can use a specific port by passing it. eg. ``--vnc vnc:127.0.0.1:5``
@ -202,7 +202,7 @@ the current directory or in the directory used for --logfile
Example cmdline: Example cmdline:
``sudo livemedia-creator --make-iso --no-virt --ks=./fedora-livemedia.ks`` ``sudo livemedia-creator --make-iso --no-virt --ks=./rhel-livemedia.ks``
.. note:: .. note::
Using no-virt to create a partitioned disk image (eg. --make-disk or Using no-virt to create a partitioned disk image (eg. --make-disk or
@ -225,7 +225,7 @@ that it would work with livemedia-creator.
Example cmdline: Example cmdline:
``sudo livemedia-creator --make-ami --iso=/path/to/boot.iso --ks=./docs/fedora-livemedia-ec2.ks`` ``sudo livemedia-creator --make-ami --iso=/path/to/boot.iso --ks=./docs/rhel-livemedia-ec2.ks``
This will produce an ami-root.img file in the working directory. This will produce an ami-root.img file in the working directory.
@ -297,7 +297,7 @@ The created image can be imported into libvirt using:
You can also create qcow2 appliance images using ``--image-type=qcow2``, for example:: You can also create qcow2 appliance images using ``--image-type=qcow2``, for example::
sudo livemedia-creator --make-appliance --iso=/path/to/boot.iso --ks=./docs/fedora-minimal.ks \ sudo livemedia-creator --make-appliance --iso=/path/to/boot.iso --ks=./docs/rhel-minimal.ks \
--image-type=qcow2 --app-file=minimal-test.xml --image-name=minimal-test.img --image-type=qcow2 --app-file=minimal-test.xml --image-name=minimal-test.img
@ -310,7 +310,7 @@ no-virt modes of operation. Previously it was only available with no-virt.
Kickstarts should have a single / partition with no extra mountpoints. Kickstarts should have a single / partition with no extra mountpoints.
``livemedia-creator --make-fsimage --iso=/path/to/boot.iso --ks=./docs/fedora-minimal.ks`` ``livemedia-creator --make-fsimage --iso=/path/to/boot.iso --ks=./docs/rhel-minimal.ks``
You can name the output image with ``--image-name`` and set a label on the filesystem with ``--fs-label`` You can name the output image with ``--image-name`` and set a label on the filesystem with ``--fs-label``
@ -327,8 +327,8 @@ As with ``--make-fsimage`` the kickstart should be limited to a single / partiti
For example:: For example::
livemedia-creator --make-tar --iso=/path/to/boot.iso --ks=./docs/fedora-minimal.ks \ livemedia-creator --make-tar --iso=/path/to/boot.iso --ks=./docs/rhel-minimal.ks \
--image-name=fedora-root.tar.xz --image-name=rhel-root.tar.xz
Live Image for PXE Boot Live Image for PXE Boot
@ -349,7 +349,7 @@ using Atomic installer iso with local repo included in the image can be found
in docs/rhel-atomic-pxe-live.ks. in docs/rhel-atomic-pxe-live.ks.
The PXE images can also be created with ``--no-virt`` by using the example The PXE images can also be created with ``--no-virt`` by using the example
kickstart in docs/fedora-atomic-pxe-live-novirt.ks. This also works inside the kickstart in docs/rhel-atomic-pxe-live-novirt.ks. This also works inside the
mock environment. mock environment.
@ -394,16 +394,16 @@ group.
``url points to the correct repo`` ``url points to the correct repo``
7. Init the mock 7. Init the mock
``mock -r fedora-rawhide-x86_64 --old-chroot --init`` ``mock -r rhel-8-x86_64 --old-chroot --init``
8. Copy the kickstart inside the mock 8. Copy the kickstart inside the mock
``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./fedora-minimal.ks /root/`` ``mock -r rhel-8-x86_64 --old-chroot --copyin ./rhel-minimal.ks /root/``
9. Make a minimal iso:: 9. Make a minimal iso::
mock -r fedora-rawhide-x86_64 --old-chroot --chroot -- livemedia-creator --no-virt \ mock -r rhel-8-x86_64 --old-chroot --chroot -- livemedia-creator --no-virt \
--resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \ --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \
--make-iso --ks /root/fedora-minimal.ks --make-iso --ks /root/rhel-minimal.ks
Results will be in ./results/try-1 and logs under /results/logs/try-1/ Results will be in ./results/try-1 and logs under /results/logs/try-1/
including anaconda logs and livemedia-creator logs. The new iso will be including anaconda logs and livemedia-creator logs. The new iso will be
@ -448,19 +448,19 @@ group.
``url points to the correct repo`` ``url points to the correct repo``
7. Init the mock 7. Init the mock
``mock -r fedora-rawhide-x86_64 --old-chroot --init`` ``mock -r rhel-8-x86_64 --old-chroot --init``
8. Copy the kickstart inside the mock 8. Copy the kickstart inside the mock
``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./fedora-minimal.ks /root/`` ``mock -r rhel-8-x86_64 --old-chroot --copyin ./rhel-minimal.ks /root/``
9. Copy the Anaconda boot.iso inside the mock 9. Copy the Anaconda boot.iso inside the mock
``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./boot.iso /root/`` ``mock -r rhel-8-x86_64 --old-chroot --copyin ./boot.iso /root/``
10. Make a minimal iso:: 10. Make a minimal iso::
mock -r fedora-rawhide-x86_64 --old-chroot --chroot -- livemedia-creator \ mock -r rhel-8-x86_64 --old-chroot --chroot -- livemedia-creator \
--resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \ --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \
--make-iso --ks /root/fedora-minimal.ks --iso /root/boot.iso --make-iso --ks /root/rhel-minimal.ks --iso /root/boot.iso
Results will be in ./results/try-1 and logs under /results/logs/try-1/ Results will be in ./results/try-1 and logs under /results/logs/try-1/
including anaconda logs and livemedia-creator logs. The new iso will be including anaconda logs and livemedia-creator logs. The new iso will be
@ -480,39 +480,39 @@ You need to have access to an OpenStack provider that allows image uploads, or
setup your own using the instructions from the `RDO Project setup your own using the instructions from the `RDO Project
<https://www.rdoproject.org/Quickstart>`_. <https://www.rdoproject.org/Quickstart>`_.
The example kickstart, fedora-openstack.ks, is only slightly different than the The example kickstart, rhel-openstack.ks, is only slightly different than the
fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart rhel-minimal.ks one. It adds the cloud-init and cloud-utils-growpart
packages. OpenStack supports setting up the image using cloud-init, and packages. OpenStack supports setting up the image using cloud-init, and
cloud-utils-growpart will grow the image to fit the instance's disk size. cloud-utils-growpart will grow the image to fit the instance's disk size.
Create a qcow2 image using the kickstart like this: Create a qcow2 image using the kickstart like this:
``sudo livemedia-creator --make-disk --iso=/path/to/boot.iso --ks=/path/to/fedora-openstack.ks --image-type=qcow2`` ``sudo livemedia-creator --make-disk --iso=/path/to/boot.iso --ks=/path/to/rhel-openstack.ks --image-type=qcow2``
.. note:: .. note::
On the RHEL7 version of lmc ``--image-type`` isn't supported. You can only create a bare partitioned disk image. On the RHEL7 version of lmc ``--image-type`` isn't supported. You can only create a bare partitioned disk image.
Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline:: Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline::
glance image-create --name "fedora-openstack" --is-public true --disk-format qcow2 \ glance image-create --name "rhel-openstack" --is-public true --disk-format qcow2 \
--container-format bare --file ./fedora-openstack.qcow2 --container-format bare --file ./rhel-openstack.qcow2
If qcow2 wasn't used then ``--disk-format`` should be set to raw. If qcow2 wasn't used then ``--disk-format`` should be set to raw.
Docker Image Creation Container Image Creation
--------------------- ------------------------
Use lmc to create a tarfile as described in the `TAR File Creation`_ section, but substitute the Use lmc to create a tarfile as described in the `TAR File Creation`_ section, but substitute the
fedora-docker.ks example kickstart which removes the requirement for core files and the kernel. rhel-container.ks example kickstart which removes the requirement for core files and the kernel.
You can then import the tarfile into docker like this (as root): You can then import the tarfile into podman or docker like this:
``cat /var/tmp/fedora-root.tar.xz | docker import - fedora-root`` ``podman import /var/tmp/root.tar.xz rhel-root``
And then run bash inside of it: And then run bash inside of it:
``sudo docker run -i -t fedora-root /bin/bash`` ``podman run -i -t rhel-root /bin/bash``
Open Container Initiative Image Creation Open Container Initiative Image Creation
@ -523,7 +523,7 @@ The OCI is a new specification that is still being worked on. You can read more
OCI images using the following command:: OCI images using the following command::
sudo livemedia-creator --make-oci --oci-config /path/to/config.json --oci-runtime /path/to/runtime.json \ sudo livemedia-creator --make-oci --oci-config /path/to/config.json --oci-runtime /path/to/runtime.json \
--iso=/path/to/boot.iso --ks=/path/to/fedora-minimal.ks --iso=/path/to/boot.iso --ks=/path/to/rhel-minimal.ks
You must provide the config.json and runtime.json files to be included in the bundle, You must provide the config.json and runtime.json files to be included in the bundle,
their specifications can be found `on the OCI github project <https://github.com/opencontainers/specs>`_ their specifications can be found `on the OCI github project <https://github.com/opencontainers/specs>`_
@ -539,7 +539,7 @@ Vagrant Image Creation
`Vagrant <https://www.vagrantup.com/>`_ images can be created using the following command:: `Vagrant <https://www.vagrantup.com/>`_ images can be created using the following command::
sudo livemedia-creator --make-vagrant --vagrant-metadata /path/to/metadata.json \ sudo livemedia-creator --make-vagrant --vagrant-metadata /path/to/metadata.json \
--iso=/path/to/boot.iso --ks=/path/to/fedora-vagrant.ks --iso=/path/to/boot.iso --ks=/path/to/rhel-vagrant.ks
The image created is a `vagrant-libvirt The image created is a `vagrant-libvirt
<https://github.com/pradels/vagrant-libvirt>`_ provider image and needs to have <https://github.com/pradels/vagrant-libvirt>`_ provider image and needs to have
@ -579,7 +579,7 @@ but it amounts to:
Now you can run livemedia-creator with ``--virt-uefi`` to boot and install using UEFI:: Now you can run livemedia-creator with ``--virt-uefi`` to boot and install using UEFI::
sudo livemedia-creator --make-disk --virt-uefi --iso=/path/to/boot.iso \ sudo livemedia-creator --make-disk --virt-uefi --iso=/path/to/boot.iso \
--ks=/path/to/fedora-minimal.ks --ks=/path/to/rhel-minimal.ks
Make sure that the kickstart you are using creates a /boot/efi partition by including this:: Make sure that the kickstart you are using creates a /boot/efi partition by including this::
@ -588,7 +588,7 @@ Make sure that the kickstart you are using creates a /boot/efi partition by incl
.. note:: .. note::
When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca) When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca)
it will not boot automatically because there is a problem with the fallback path. it will not boot automatically because there is a problem with the fallback path.
You can boot it by entering the UEFI shell and running EFI/fedora/shim.efi and You can boot it by entering the UEFI shell and running EFI/redhat/shim.efi and
then using efibootmgr to setup the correct boot entry. then using efibootmgr to setup the correct boot entry.
@ -635,6 +635,6 @@ Development on this will take place as part of the lorax project, and on the
anaconda-devel-list mailing list, and `on github <https://github.com/rhinstaller/lorax>`_ anaconda-devel-list mailing list, and `on github <https://github.com/rhinstaller/lorax>`_
Feedback, enhancements and bugs are welcome. You can use `bugzilla Feedback, enhancements and bugs are welcome. You can use `bugzilla
<https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=lorax>`_ to <https://bugzilla.redhat.com/enter_bug.cgi?product=Red Hat Enterprise Linux 8&component=lorax>`_ to
report bugs against the lorax component. report bugs against the lorax component.

View File

@ -251,7 +251,7 @@ needs 3 things:
the compose directory to the results directory. the compose directory to the results directory.
The ``partitioned-disk.ks`` is pretty similar to the example minimal kickstart The ``partitioned-disk.ks`` is pretty similar to the example minimal kickstart
in ``./docs/fedora-minimal.ks``. You should remove the ``url`` and ``repo`` in ``./docs/rhel-minimal.ks``. You should remove the ``url`` and ``repo``
commands, they will be added by the compose process. Make sure the bootloader commands, they will be added by the compose process. Make sure the bootloader
packages are included in the ``%packages`` section at the end of the kickstart, packages are included in the ``%packages`` section at the end of the kickstart,
and you will want to leave off the ``%end`` so that the compose can append the and you will want to leave off the ``%end`` so that the compose can append the

View File

@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '28.14.17', VERSION: '28.14.21',
LANGUAGE: 'None', LANGUAGE: 'None',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>composer-cli &mdash; Lorax 28.14.17 documentation</title> <title>composer-cli &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -394,7 +394,7 @@ save the qcow2 image as <code class="docutils literal notranslate"><span class="
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index &mdash; Lorax 28.14.17 documentation</title> <title>Index &mdash; Lorax 28.14.21 documentation</title>
@ -57,7 +57,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -612,11 +612,11 @@
<h2 id="N">N</h2> <h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pylorax.html#pylorax.installer.novirt_install">novirt_install() (in module pylorax.installer)</a> <li><a href="pylorax.html#pylorax.installer.novirt_cancel_check">novirt_cancel_check() (in module pylorax.installer)</a>
</li> </li>
</ul></td> </ul></td>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pylorax.html#pylorax.installer.novirt_log_check">novirt_log_check() (in module pylorax.installer)</a> <li><a href="pylorax.html#pylorax.installer.novirt_install">novirt_install() (in module pylorax.installer)</a>
</li> </li>
</ul></td> </ul></td>
</tr></table> </tr></table>
@ -993,7 +993,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to Loraxs documentation! &mdash; Lorax 28.14.17 documentation</title> <title>Welcome to Loraxs documentation! &mdash; Lorax 28.14.21 documentation</title>
@ -57,7 +57,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -228,7 +228,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Introduction to Lorax &mdash; Lorax 28.14.17 documentation</title> <title>Introduction to Lorax &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -251,7 +251,7 @@ upd-instroot and mk-images* scripts.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>livemedia-creator &mdash; Lorax 28.14.17 documentation</title> <title>livemedia-creator &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -111,7 +111,7 @@
<li class="toctree-l2"><a class="reference internal" href="#using-mock-and-no-virt-to-create-images">Using Mock and no-virt to Create Images</a></li> <li class="toctree-l2"><a class="reference internal" href="#using-mock-and-no-virt-to-create-images">Using Mock and no-virt to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="#using-mock-and-qemu-to-create-images">Using Mock and qemu to Create Images</a></li> <li class="toctree-l2"><a class="reference internal" href="#using-mock-and-qemu-to-create-images">Using Mock and qemu to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="#openstack-image-creation">OpenStack Image Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#docker-image-creation">Docker Image Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#container-image-creation">Container Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#open-container-initiative-image-creation">Open Container Initiative Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#vagrant-image-creation">Vagrant Image Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#vagrant-image-creation">Vagrant Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li> <li class="toctree-l2"><a class="reference internal" href="#creating-uefi-disk-images-with-virt">Creating UEFI disk images with virt</a></li>
@ -382,7 +382,7 @@ you have the anaconda-tui package installed.</p>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd>--releasever</kbd></td> <kbd>--releasever</kbd></td>
<td><p class="first">substituted for &#64;VERSION&#64; in bootloader config files</p> <td><p class="first">substituted for &#64;VERSION&#64; in bootloader config files</p>
<p class="last">Default: “28”</p> <p class="last">Default: “8”</p>
</td></tr> </td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd>--volid</kbd></td> <kbd>--volid</kbd></td>
@ -591,13 +591,13 @@ you have the anaconda-tui package installed.</p>
<h2>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline"></a></h2> <h2>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline"></a></h2>
<p>Run this to create a bootable live iso:</p> <p>Run this to create a bootable live iso:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> \
<span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">extra</span><span class="o">/</span><span class="n">iso</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=./</span><span class="n">docs</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">livemedia</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">extra</span><span class="o">/</span><span class="n">iso</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=./</span><span class="n">docs</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">livemedia</span><span class="o">.</span><span class="n">ks</span>
</pre></div> </pre></div>
</div> </div>
<p>You can run it directly from the lorax git repo like this:</p> <p>You can run it directly from the lorax git repo like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia-creator \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia-creator \
--make-iso --iso=/extra/iso/boot.iso \ --make-iso --iso=/extra/iso/boot.iso \
--ks=./docs/fedora-livemedia.ks --lorax-templates=./share/ --ks=./docs/rhel-livemedia.ks --lorax-templates=./share/
</pre></div> </pre></div>
</div> </div>
<p>You can observe the installation using vnc. The logs will show what port was <p>You can observe the installation using vnc. The logs will show what port was
@ -733,7 +733,7 @@ afford to lose all data from.</li>
<p>The logs from anaconda will be placed in an ./anaconda/ directory in either <p>The logs from anaconda will be placed in an ./anaconda/ directory in either
the current directory or in the directory used for logfile</p> the current directory or in the directory used for logfile</p>
<p>Example cmdline:</p> <p>Example cmdline:</p>
<p><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-iso</span> <span class="pre">--no-virt</span> <span class="pre">--ks=./fedora-livemedia.ks</span></code></p> <p><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-iso</span> <span class="pre">--no-virt</span> <span class="pre">--ks=./rhel-livemedia.ks</span></code></p>
<div class="admonition note"> <div class="admonition note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">Using no-virt to create a partitioned disk image (eg. make-disk or <p class="last">Using no-virt to create a partitioned disk image (eg. make-disk or
@ -755,7 +755,7 @@ kickstart file. All of the work to customize the image is handled by the kicksta
The example currently included was modified from the cloud-kickstarts version so The example currently included was modified from the cloud-kickstarts version so
that it would work with livemedia-creator.</p> that it would work with livemedia-creator.</p>
<p>Example cmdline:</p> <p>Example cmdline:</p>
<p><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-ami</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=./docs/fedora-livemedia-ec2.ks</span></code></p> <p><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-ami</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=./docs/rhel-livemedia-ec2.ks</span></code></p>
<p>This will produce an ami-root.img file in the working directory.</p> <p>This will produce an ami-root.img file in the working directory.</p>
<p>At this time I have not tested the image with EC2. Feedback would be welcome.</p> <p>At this time I have not tested the image with EC2. Feedback would be welcome.</p>
</div> </div>
@ -809,7 +809,7 @@ from <code class="docutils literal notranslate"><span class="pre">--releasever</
<blockquote> <blockquote>
<div><code class="docutils literal notranslate"><span class="pre">virt-image</span> <span class="pre">appliance.xml</span></code></div></blockquote> <div><code class="docutils literal notranslate"><span class="pre">virt-image</span> <span class="pre">appliance.xml</span></code></div></blockquote>
<p>You can also create qcow2 appliance images using <code class="docutils literal notranslate"><span class="pre">--image-type=qcow2</span></code>, for example:</p> <p>You can also create qcow2 appliance images using <code class="docutils literal notranslate"><span class="pre">--image-type=qcow2</span></code>, for example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">appliance</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=./</span><span class="n">docs</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">appliance</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=./</span><span class="n">docs</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> \
<span class="o">--</span><span class="n">image</span><span class="o">-</span><span class="nb">type</span><span class="o">=</span><span class="n">qcow2</span> <span class="o">--</span><span class="n">app</span><span class="o">-</span><span class="n">file</span><span class="o">=</span><span class="n">minimal</span><span class="o">-</span><span class="n">test</span><span class="o">.</span><span class="n">xml</span> <span class="o">--</span><span class="n">image</span><span class="o">-</span><span class="n">name</span><span class="o">=</span><span class="n">minimal</span><span class="o">-</span><span class="n">test</span><span class="o">.</span><span class="n">img</span> <span class="o">--</span><span class="n">image</span><span class="o">-</span><span class="nb">type</span><span class="o">=</span><span class="n">qcow2</span> <span class="o">--</span><span class="n">app</span><span class="o">-</span><span class="n">file</span><span class="o">=</span><span class="n">minimal</span><span class="o">-</span><span class="n">test</span><span class="o">.</span><span class="n">xml</span> <span class="o">--</span><span class="n">image</span><span class="o">-</span><span class="n">name</span><span class="o">=</span><span class="n">minimal</span><span class="o">-</span><span class="n">test</span><span class="o">.</span><span class="n">img</span>
</pre></div> </pre></div>
</div> </div>
@ -821,7 +821,7 @@ the <code class="docutils literal notranslate"><span class="pre">--make-fsimage<
no-virt modes of operation. Previously it was only available with no-virt.</p> no-virt modes of operation. Previously it was only available with no-virt.</p>
<p>Kickstarts should have a single / partition with no extra mountpoints.</p> <p>Kickstarts should have a single / partition with no extra mountpoints.</p>
<blockquote> <blockquote>
<div><code class="docutils literal notranslate"><span class="pre">livemedia-creator</span> <span class="pre">--make-fsimage</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=./docs/fedora-minimal.ks</span></code></div></blockquote> <div><code class="docutils literal notranslate"><span class="pre">livemedia-creator</span> <span class="pre">--make-fsimage</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=./docs/rhel-minimal.ks</span></code></div></blockquote>
<p>You can name the output image with <code class="docutils literal notranslate"><span class="pre">--image-name</span></code> and set a label on the filesystem with <code class="docutils literal notranslate"><span class="pre">--fs-label</span></code></p> <p>You can name the output image with <code class="docutils literal notranslate"><span class="pre">--image-name</span></code> and set a label on the filesystem with <code class="docutils literal notranslate"><span class="pre">--fs-label</span></code></p>
</div> </div>
<div class="section" id="tar-file-creation"> <div class="section" id="tar-file-creation">
@ -832,8 +832,8 @@ default it is compressed using xz, but this can be changed using the
no-virt install methods.</p> no-virt install methods.</p>
<p>As with <code class="docutils literal notranslate"><span class="pre">--make-fsimage</span></code> the kickstart should be limited to a single / partition.</p> <p>As with <code class="docutils literal notranslate"><span class="pre">--make-fsimage</span></code> the kickstart should be limited to a single / partition.</p>
<p>For example:</p> <p>For example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">tar</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=./</span><span class="n">docs</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">tar</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=./</span><span class="n">docs</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> \
<span class="o">--</span><span class="n">image</span><span class="o">-</span><span class="n">name</span><span class="o">=</span><span class="n">fedora</span><span class="o">-</span><span class="n">root</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">xz</span> <span class="o">--</span><span class="n">image</span><span class="o">-</span><span class="n">name</span><span class="o">=</span><span class="n">rhel</span><span class="o">-</span><span class="n">root</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">xz</span>
</pre></div> </pre></div>
</div> </div>
</div> </div>
@ -851,7 +851,7 @@ for installations of Atomic Host. Example kickstart for such an installation
using Atomic installer iso with local repo included in the image can be found using Atomic installer iso with local repo included in the image can be found
in docs/rhel-atomic-pxe-live.ks.</p> in docs/rhel-atomic-pxe-live.ks.</p>
<p>The PXE images can also be created with <code class="docutils literal notranslate"><span class="pre">--no-virt</span></code> by using the example <p>The PXE images can also be created with <code class="docutils literal notranslate"><span class="pre">--no-virt</span></code> by using the example
kickstart in docs/fedora-atomic-pxe-live-novirt.ks. This also works inside the kickstart in docs/rhel-atomic-pxe-live-novirt.ks. This also works inside the
mock environment.</p> mock environment.</p>
</div> </div>
<div class="section" id="using-mock-and-no-virt-to-create-images"> <div class="section" id="using-mock-and-no-virt-to-create-images">
@ -895,15 +895,15 @@ group.</p>
<code class="docutils literal notranslate"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p> <code class="docutils literal notranslate"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p>
</li> </li>
<li><p class="first">Init the mock <li><p class="first">Init the mock
<code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--init</span></code></p> <code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">rhel-8-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--init</span></code></p>
</li> </li>
<li><p class="first">Copy the kickstart inside the mock <li><p class="first">Copy the kickstart inside the mock
<code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./fedora-minimal.ks</span> <span class="pre">/root/</span></code></p> <code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">rhel-8-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./rhel-minimal.ks</span> <span class="pre">/root/</span></code></p>
</li> </li>
<li><p class="first">Make a minimal iso:</p> <li><p class="first">Make a minimal iso:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">fedora</span><span class="o">-</span><span class="n">rawhide</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">old</span><span class="o">-</span><span class="n">chroot</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">virt</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">rhel</span><span class="o">-</span><span class="mi">8</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">old</span><span class="o">-</span><span class="n">chroot</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">virt</span> \
<span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \ <span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \
<span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span>
</pre></div> </pre></div>
</div> </div>
</li> </li>
@ -949,18 +949,18 @@ group.</p>
<code class="docutils literal notranslate"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p> <code class="docutils literal notranslate"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p>
</li> </li>
<li><p class="first">Init the mock <li><p class="first">Init the mock
<code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--init</span></code></p> <code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">rhel-8-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--init</span></code></p>
</li> </li>
<li><p class="first">Copy the kickstart inside the mock <li><p class="first">Copy the kickstart inside the mock
<code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./fedora-minimal.ks</span> <span class="pre">/root/</span></code></p> <code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">rhel-8-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./rhel-minimal.ks</span> <span class="pre">/root/</span></code></p>
</li> </li>
<li><p class="first">Copy the Anaconda boot.iso inside the mock <li><p class="first">Copy the Anaconda boot.iso inside the mock
<code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./boot.iso</span> <span class="pre">/root/</span></code></p> <code class="docutils literal notranslate"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">rhel-8-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./boot.iso</span> <span class="pre">/root/</span></code></p>
</li> </li>
<li><p class="first">Make a minimal iso:</p> <li><p class="first">Make a minimal iso:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">fedora</span><span class="o">-</span><span class="n">rawhide</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">old</span><span class="o">-</span><span class="n">chroot</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">rhel</span><span class="o">-</span><span class="mi">8</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">old</span><span class="o">-</span><span class="n">chroot</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> \
<span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \ <span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \
<span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span>
</pre></div> </pre></div>
</div> </div>
</li> </li>
@ -978,34 +978,34 @@ add <code class="docutils literal notranslate"><span class="pre">mknod</span> <s
create images for importing into glance, OpenStacks image storage component. create images for importing into glance, OpenStacks image storage component.
You need to have access to an OpenStack provider that allows image uploads, or You need to have access to an OpenStack provider that allows image uploads, or
setup your own using the instructions from the <a class="reference external" href="https://www.rdoproject.org/Quickstart">RDO Project</a>.</p> setup your own using the instructions from the <a class="reference external" href="https://www.rdoproject.org/Quickstart">RDO Project</a>.</p>
<p>The example kickstart, fedora-openstack.ks, is only slightly different than the <p>The example kickstart, rhel-openstack.ks, is only slightly different than the
fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart rhel-minimal.ks one. It adds the cloud-init and cloud-utils-growpart
packages. OpenStack supports setting up the image using cloud-init, and packages. OpenStack supports setting up the image using cloud-init, and
cloud-utils-growpart will grow the image to fit the instances disk size.</p> cloud-utils-growpart will grow the image to fit the instances disk size.</p>
<p>Create a qcow2 image using the kickstart like this:</p> <p>Create a qcow2 image using the kickstart like this:</p>
<blockquote> <blockquote>
<div><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-disk</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=/path/to/fedora-openstack.ks</span> <span class="pre">--image-type=qcow2</span></code></div></blockquote> <div><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-disk</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=/path/to/rhel-openstack.ks</span> <span class="pre">--image-type=qcow2</span></code></div></blockquote>
<div class="admonition note"> <div class="admonition note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">On the RHEL7 version of lmc <code class="docutils literal notranslate"><span class="pre">--image-type</span></code> isnt supported. You can only create a bare partitioned disk image.</p> <p class="last">On the RHEL7 version of lmc <code class="docutils literal notranslate"><span class="pre">--image-type</span></code> isnt supported. You can only create a bare partitioned disk image.</p>
</div> </div>
<p>Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline:</p> <p>Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">glance</span> <span class="n">image</span><span class="o">-</span><span class="n">create</span> <span class="o">--</span><span class="n">name</span> <span class="s2">&quot;fedora-openstack&quot;</span> <span class="o">--</span><span class="ow">is</span><span class="o">-</span><span class="n">public</span> <span class="n">true</span> <span class="o">--</span><span class="n">disk</span><span class="o">-</span><span class="nb">format</span> <span class="n">qcow2</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">glance</span> <span class="n">image</span><span class="o">-</span><span class="n">create</span> <span class="o">--</span><span class="n">name</span> <span class="s2">&quot;rhel-openstack&quot;</span> <span class="o">--</span><span class="ow">is</span><span class="o">-</span><span class="n">public</span> <span class="n">true</span> <span class="o">--</span><span class="n">disk</span><span class="o">-</span><span class="nb">format</span> <span class="n">qcow2</span> \
<span class="o">--</span><span class="n">container</span><span class="o">-</span><span class="nb">format</span> <span class="n">bare</span> <span class="o">--</span><span class="n">file</span> <span class="o">./</span><span class="n">fedora</span><span class="o">-</span><span class="n">openstack</span><span class="o">.</span><span class="n">qcow2</span> <span class="o">--</span><span class="n">container</span><span class="o">-</span><span class="nb">format</span> <span class="n">bare</span> <span class="o">--</span><span class="n">file</span> <span class="o">./</span><span class="n">rhel</span><span class="o">-</span><span class="n">openstack</span><span class="o">.</span><span class="n">qcow2</span>
</pre></div> </pre></div>
</div> </div>
<p>If qcow2 wasnt used then <code class="docutils literal notranslate"><span class="pre">--disk-format</span></code> should be set to raw.</p> <p>If qcow2 wasnt used then <code class="docutils literal notranslate"><span class="pre">--disk-format</span></code> should be set to raw.</p>
</div> </div>
<div class="section" id="docker-image-creation"> <div class="section" id="container-image-creation">
<h2>Docker Image Creation<a class="headerlink" href="#docker-image-creation" title="Permalink to this headline"></a></h2> <h2>Container Image Creation<a class="headerlink" href="#container-image-creation" title="Permalink to this headline"></a></h2>
<p>Use lmc to create a tarfile as described in the <a class="reference internal" href="#tar-file-creation">TAR File Creation</a> section, but substitute the <p>Use lmc to create a tarfile as described in the <a class="reference internal" href="#tar-file-creation">TAR File Creation</a> section, but substitute the
fedora-docker.ks example kickstart which removes the requirement for core files and the kernel.</p> rhel-container.ks example kickstart which removes the requirement for core files and the kernel.</p>
<p>You can then import the tarfile into docker like this (as root):</p> <p>You can then import the tarfile into podman or docker like this:</p>
<blockquote> <blockquote>
<div><code class="docutils literal notranslate"><span class="pre">cat</span> <span class="pre">/var/tmp/fedora-root.tar.xz</span> <span class="pre">|</span> <span class="pre">docker</span> <span class="pre">import</span> <span class="pre">-</span> <span class="pre">fedora-root</span></code></div></blockquote> <div><code class="docutils literal notranslate"><span class="pre">podman</span> <span class="pre">import</span> <span class="pre">/var/tmp/root.tar.xz</span> <span class="pre">rhel-root</span></code></div></blockquote>
<p>And then run bash inside of it:</p> <p>And then run bash inside of it:</p>
<blockquote> <blockquote>
<div><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">docker</span> <span class="pre">run</span> <span class="pre">-i</span> <span class="pre">-t</span> <span class="pre">fedora-root</span> <span class="pre">/bin/bash</span></code></div></blockquote> <div><code class="docutils literal notranslate"><span class="pre">podman</span> <span class="pre">run</span> <span class="pre">-i</span> <span class="pre">-t</span> <span class="pre">rhel-root</span> <span class="pre">/bin/bash</span></code></div></blockquote>
</div> </div>
<div class="section" id="open-container-initiative-image-creation"> <div class="section" id="open-container-initiative-image-creation">
<h2>Open Container Initiative Image Creation<a class="headerlink" href="#open-container-initiative-image-creation" title="Permalink to this headline"></a></h2> <h2>Open Container Initiative Image Creation<a class="headerlink" href="#open-container-initiative-image-creation" title="Permalink to this headline"></a></h2>
@ -1013,7 +1013,7 @@ fedora-docker.ks example kickstart which removes the requirement for core files
<a class="reference external" href="https://www.opencontainers.org/">the Open Container Initiative website</a>. You can create <a class="reference external" href="https://www.opencontainers.org/">the Open Container Initiative website</a>. You can create
OCI images using the following command:</p> OCI images using the following command:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">oci</span> <span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">config</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">config</span><span class="o">.</span><span class="n">json</span> <span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">runtime</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">runtime</span><span class="o">.</span><span class="n">json</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">oci</span> <span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">config</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">config</span><span class="o">.</span><span class="n">json</span> <span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">runtime</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">runtime</span><span class="o">.</span><span class="n">json</span> \
<span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span>
</pre></div> </pre></div>
</div> </div>
<p>You must provide the config.json and runtime.json files to be included in the bundle, <p>You must provide the config.json and runtime.json files to be included in the bundle,
@ -1026,7 +1026,7 @@ partitioned disk images.</p>
<h2>Vagrant Image Creation<a class="headerlink" href="#vagrant-image-creation" title="Permalink to this headline"></a></h2> <h2>Vagrant Image Creation<a class="headerlink" href="#vagrant-image-creation" title="Permalink to this headline"></a></h2>
<p><a class="reference external" href="https://www.vagrantup.com/">Vagrant</a> images can be created using the following command:</p> <p><a class="reference external" href="https://www.vagrantup.com/">Vagrant</a> images can be created using the following command:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">vagrant</span> <span class="o">--</span><span class="n">vagrant</span><span class="o">-</span><span class="n">metadata</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">metadata</span><span class="o">.</span><span class="n">json</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">vagrant</span> <span class="o">--</span><span class="n">vagrant</span><span class="o">-</span><span class="n">metadata</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">metadata</span><span class="o">.</span><span class="n">json</span> \
<span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">vagrant</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">vagrant</span><span class="o">.</span><span class="n">ks</span>
</pre></div> </pre></div>
</div> </div>
<p>The image created is a <a class="reference external" href="https://github.com/pradels/vagrant-libvirt">vagrant-libvirt</a> provider image and needs to have <p>The image created is a <a class="reference external" href="https://github.com/pradels/vagrant-libvirt">vagrant-libvirt</a> provider image and needs to have
@ -1057,7 +1057,7 @@ in /etc/yum.repos.d/</li>
</ol> </ol>
<p>Now you can run livemedia-creator with <code class="docutils literal notranslate"><span class="pre">--virt-uefi</span></code> to boot and install using UEFI:</p> <p>Now you can run livemedia-creator with <code class="docutils literal notranslate"><span class="pre">--virt-uefi</span></code> to boot and install using UEFI:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">disk</span> <span class="o">--</span><span class="n">virt</span><span class="o">-</span><span class="n">uefi</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> \ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">disk</span> <span class="o">--</span><span class="n">virt</span><span class="o">-</span><span class="n">uefi</span> <span class="o">--</span><span class="n">iso</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> \
<span class="o">--</span><span class="n">ks</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">ks</span><span class="o">=/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">rhel</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span>
</pre></div> </pre></div>
</div> </div>
<p>Make sure that the kickstart you are using creates a /boot/efi partition by including this:</p> <p>Make sure that the kickstart you are using creates a /boot/efi partition by including this:</p>
@ -1068,7 +1068,7 @@ in /etc/yum.repos.d/</li>
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca) <p class="last">When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca)
it will not boot automatically because there is a problem with the fallback path. it will not boot automatically because there is a problem with the fallback path.
You can boot it by entering the UEFI shell and running EFI/fedora/shim.efi and You can boot it by entering the UEFI shell and running EFI/redhat/shim.efi and
then using efibootmgr to setup the correct boot entry.</p> then using efibootmgr to setup the correct boot entry.</p>
</div> </div>
</div> </div>
@ -1104,7 +1104,7 @@ running <code class="docutils literal notranslate"><span class="pre">anaconda-cl
<h2>Hacking<a class="headerlink" href="#hacking" title="Permalink to this headline"></a></h2> <h2>Hacking<a class="headerlink" href="#hacking" title="Permalink to this headline"></a></h2>
<p>Development on this will take place as part of the lorax project, and on the <p>Development on this will take place as part of the lorax project, and on the
anaconda-devel-list mailing list, and <a class="reference external" href="https://github.com/rhinstaller/lorax">on github</a></p> anaconda-devel-list mailing list, and <a class="reference external" href="https://github.com/rhinstaller/lorax">on github</a></p>
<p>Feedback, enhancements and bugs are welcome. You can use <a class="reference external" href="https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&amp;component=lorax">bugzilla</a> to <p>Feedback, enhancements and bugs are welcome. You can use <a class="reference external" href="https://bugzilla.redhat.com/enter_bug.cgi?product=RedHatEnterpriseLinux8&amp;component=lorax">bugzilla</a> to
report bugs against the lorax component.</p> report bugs against the lorax component.</p>
</div> </div>
</div> </div>
@ -1153,7 +1153,7 @@ report bugs against the lorax component.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>lorax-composer &mdash; Lorax 28.14.17 documentation</title> <title>lorax-composer &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -493,7 +493,7 @@ needs 3 things:</p>
the compose directory to the results directory.</li> the compose directory to the results directory.</li>
</ul> </ul>
<p>The <code class="docutils literal notranslate"><span class="pre">partitioned-disk.ks</span></code> is pretty similar to the example minimal kickstart <p>The <code class="docutils literal notranslate"><span class="pre">partitioned-disk.ks</span></code> is pretty similar to the example minimal kickstart
in <code class="docutils literal notranslate"><span class="pre">./docs/fedora-minimal.ks</span></code>. You should remove the <code class="docutils literal notranslate"><span class="pre">url</span></code> and <code class="docutils literal notranslate"><span class="pre">repo</span></code> in <code class="docutils literal notranslate"><span class="pre">./docs/rhel-minimal.ks</span></code>. You should remove the <code class="docutils literal notranslate"><span class="pre">url</span></code> and <code class="docutils literal notranslate"><span class="pre">repo</span></code>
commands, they will be added by the compose process. Make sure the bootloader commands, they will be added by the compose process. Make sure the bootloader
packages are included in the <code class="docutils literal notranslate"><span class="pre">%packages</span></code> section at the end of the kickstart, packages are included in the <code class="docutils literal notranslate"><span class="pre">%packages</span></code> section at the end of the kickstart,
and you will want to leave off the <code class="docutils literal notranslate"><span class="pre">%end</span></code> so that the compose can append the and you will want to leave off the <code class="docutils literal notranslate"><span class="pre">%end</span></code> so that the compose can append the
@ -633,7 +633,7 @@ sources from <code class="docutils literal notranslate"><span class="pre">/etc/y
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lorax &mdash; Lorax 28.14.17 documentation</title> <title>Lorax &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -390,8 +390,8 @@ repositories.</p>
</td></tr> </td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd>--rootfs-size</kbd></td> <kbd>--rootfs-size</kbd></td>
<td><p class="first">Size of root filesystem in GiB. Defaults to 2.</p> <td><p class="first">Size of root filesystem in GiB. Defaults to 3.</p>
<p class="last">Default: 2</p> <p class="last">Default: 3</p>
</td></tr> </td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd>--noverifyssl</kbd></td> <kbd>--noverifyssl</kbd></td>
@ -569,7 +569,7 @@ should) select the specific template directory by passing <code class="docutils
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax &mdash; Lorax 28.14.17 documentation</title> <title>pylorax &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -251,7 +251,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

Binary file not shown.

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Product and Updates Images &mdash; Lorax 28.14.17 documentation</title> <title>Product and Updates Images &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -223,7 +223,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Module Index &mdash; Lorax 28.14.17 documentation</title> <title>Python Module Index &mdash; Lorax 28.14.21 documentation</title>
@ -59,7 +59,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -326,7 +326,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.api package &mdash; Lorax 28.14.17 documentation</title> <title>pylorax.api package &mdash; Lorax 28.14.21 documentation</title>
@ -57,7 +57,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -1927,7 +1927,7 @@ If the commit has already been tagged it will return false.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax package &mdash; Lorax 28.14.17 documentation</title> <title>pylorax package &mdash; Lorax 28.14.21 documentation</title>
@ -58,7 +58,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -428,7 +428,7 @@ this. Everything else should be a nop.</p>
<dl class="function"> <dl class="function">
<dt id="pylorax.creator.make_image"> <dt id="pylorax.creator.make_image">
<code class="descclassname">pylorax.creator.</code><code class="descname">make_image</code><span class="sig-paren">(</span><em>opts</em>, <em>ks</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/creator.html#make_image"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.creator.make_image" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.creator.</code><code class="descname">make_image</code><span class="sig-paren">(</span><em>opts</em>, <em>ks</em>, <em>cancel_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/creator.html#make_image"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.creator.make_image" title="Permalink to this definition"></a></dt>
<dd><p>Install to a disk image</p> <dd><p>Install to a disk image</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
@ -437,6 +437,7 @@ this. Everything else should be a nop.</p>
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>opts</strong> (<em>argparse options</em>) options passed to livemedia-creator</li> <li><strong>opts</strong> (<em>argparse options</em>) options passed to livemedia-creator</li>
<li><strong>ks</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) Path to the kickstart to use for the installation</li> <li><strong>ks</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) Path to the kickstart to use for the installation</li>
<li><strong>cancel_func</strong> (<em>function</em>) Function that returns True to cancel build</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -588,17 +589,23 @@ type img_mount: imgutils.PartitionMount</p>
<dl class="function"> <dl class="function">
<dt id="pylorax.creator.run_creator"> <dt id="pylorax.creator.run_creator">
<code class="descclassname">pylorax.creator.</code><code class="descname">run_creator</code><span class="sig-paren">(</span><em>opts</em>, <em>callback_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/creator.html#run_creator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.creator.run_creator" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.creator.</code><code class="descname">run_creator</code><span class="sig-paren">(</span><em>opts</em>, <em>cancel_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/creator.html#run_creator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.creator.run_creator" title="Permalink to this definition"></a></dt>
<dd><p>Run the image creator process</p> <dd><p>Run the image creator process</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>opts</strong> (<em>Either a DataHolder</em><em> or </em><em>ArgumentParser</em>) Commandline options to control the process</td> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>opts</strong> (<em>Either a DataHolder</em><em> or </em><em>ArgumentParser</em>) Commandline options to control the process</li>
<li><strong>cancel_func</strong> (<em>function</em>) Function that returns True to cancel build</li>
</ul>
</td>
</tr> </tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The result directory and the disk image path.</td> <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The result directory and the disk image path.</p>
</td>
</tr> </tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">Tuple of str</td> <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">Tuple of str</p>
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -1143,7 +1150,7 @@ raises CalledProcessError if umount fails.</p>
<dl class="class"> <dl class="class">
<dt id="pylorax.installer.QEMUInstall"> <dt id="pylorax.installer.QEMUInstall">
<em class="property">class </em><code class="descclassname">pylorax.installer.</code><code class="descname">QEMUInstall</code><span class="sig-paren">(</span><em>opts</em>, <em>iso</em>, <em>ks_paths</em>, <em>disk_img</em>, <em>img_size=2048</em>, <em>kernel_args=None</em>, <em>memory=1024</em>, <em>vcpus=None</em>, <em>vnc=None</em>, <em>arch=None</em>, <em>log_check=None</em>, <em>virtio_host='127.0.0.1'</em>, <em>virtio_port=6080</em>, <em>image_type=None</em>, <em>boot_uefi=False</em>, <em>ovmf_path=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#QEMUInstall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.QEMUInstall" title="Permalink to this definition"></a></dt> <em class="property">class </em><code class="descclassname">pylorax.installer.</code><code class="descname">QEMUInstall</code><span class="sig-paren">(</span><em>opts</em>, <em>iso</em>, <em>ks_paths</em>, <em>disk_img</em>, <em>img_size=2048</em>, <em>kernel_args=None</em>, <em>memory=1024</em>, <em>vcpus=None</em>, <em>vnc=None</em>, <em>arch=None</em>, <em>cancel_func=None</em>, <em>virtio_host='127.0.0.1'</em>, <em>virtio_port=6080</em>, <em>image_type=None</em>, <em>boot_uefi=False</em>, <em>ovmf_path=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#QEMUInstall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.QEMUInstall" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p> <dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Run qemu using an iso and a kickstart</p> <p>Run qemu using an iso and a kickstart</p>
</dd></dl> </dd></dl>
@ -1240,9 +1247,32 @@ cpio archive.</p>
</table> </table>
</dd></dl> </dd></dl>
<dl class="function">
<dt id="pylorax.installer.novirt_cancel_check">
<code class="descclassname">pylorax.installer.</code><code class="descname">novirt_cancel_check</code><span class="sig-paren">(</span><em>cancel_funcs</em>, <em>proc</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#novirt_cancel_check"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.novirt_cancel_check" title="Permalink to this definition"></a></dt>
<dd><p>Check to see if there has been an error in the logs</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>cancel_funcs</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) list of functions to call, True from any one cancels the build</li>
<li><strong>proc</strong> (<a class="reference external" href="https://docs.python.org/3/library/subprocess.html#subprocess.Popen" title="(in Python v3.7)"><em>subprocess.Popen</em></a>) Popen object for the anaconda process</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">True if the process has been terminated</p>
</td>
</tr>
</tbody>
</table>
<p>The cancel_funcs functions should return a True if an error has been detected.
When an error is detected the process is terminated and this returns True</p>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="pylorax.installer.novirt_install"> <dt id="pylorax.installer.novirt_install">
<code class="descclassname">pylorax.installer.</code><code class="descname">novirt_install</code><span class="sig-paren">(</span><em>opts</em>, <em>disk_img</em>, <em>disk_size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#novirt_install"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.novirt_install" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.installer.</code><code class="descname">novirt_install</code><span class="sig-paren">(</span><em>opts</em>, <em>disk_img</em>, <em>disk_size</em>, <em>cancel_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#novirt_install"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.novirt_install" title="Permalink to this definition"></a></dt>
<dd><p>Use Anaconda to install to a disk image</p> <dd><p>Use Anaconda to install to a disk image</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
@ -1252,6 +1282,7 @@ cpio archive.</p>
<li><strong>opts</strong> (<em>argparse options</em>) options passed to livemedia-creator</li> <li><strong>opts</strong> (<em>argparse options</em>) options passed to livemedia-creator</li>
<li><strong>disk_img</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) The full path to the disk image to be created</li> <li><strong>disk_img</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) The full path to the disk image to be created</li>
<li><strong>disk_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) The size of the disk_img in MiB</li> <li><strong>disk_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) The size of the disk_img in MiB</li>
<li><strong>cancel_func</strong> (<em>function</em>) Function that returns True to cancel build</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -1261,29 +1292,6 @@ cpio archive.</p>
passed creates a qemu disk image or tarfile.</p> passed creates a qemu disk image or tarfile.</p>
</dd></dl> </dd></dl>
<dl class="function">
<dt id="pylorax.installer.novirt_log_check">
<code class="descclassname">pylorax.installer.</code><code class="descname">novirt_log_check</code><span class="sig-paren">(</span><em>log_check</em>, <em>proc</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#novirt_log_check"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.novirt_log_check" title="Permalink to this definition"></a></dt>
<dd><p>Check to see if there has been an error in the logs</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>log_check</strong> method to call to check for an error in the logs</li>
<li><strong>proc</strong> Popen object for the anaconda process</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">True if the process has been terminated</p>
</td>
</tr>
</tbody>
</table>
<p>The log_check method should return a True if an error has been detected.
When an error is detected the process is terminated and this returns True</p>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="pylorax.installer.update_vagrant_metadata"> <dt id="pylorax.installer.update_vagrant_metadata">
<code class="descclassname">pylorax.installer.</code><code class="descname">update_vagrant_metadata</code><span class="sig-paren">(</span><em>path</em>, <em>size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#update_vagrant_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.update_vagrant_metadata" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.installer.</code><code class="descname">update_vagrant_metadata</code><span class="sig-paren">(</span><em>path</em>, <em>size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#update_vagrant_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.update_vagrant_metadata" title="Permalink to this definition"></a></dt>
@ -1306,7 +1314,7 @@ metadata file are set correctly. All other values are left untouched.</p>
<dl class="function"> <dl class="function">
<dt id="pylorax.installer.virt_install"> <dt id="pylorax.installer.virt_install">
<code class="descclassname">pylorax.installer.</code><code class="descname">virt_install</code><span class="sig-paren">(</span><em>opts</em>, <em>install_log</em>, <em>disk_img</em>, <em>disk_size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#virt_install"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.virt_install" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.installer.</code><code class="descname">virt_install</code><span class="sig-paren">(</span><em>opts</em>, <em>install_log</em>, <em>disk_img</em>, <em>disk_size</em>, <em>cancel_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/installer.html#virt_install"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.installer.virt_install" title="Permalink to this definition"></a></dt>
<dd><p>Use qemu to install to a disk image</p> <dd><p>Use qemu to install to a disk image</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
@ -1317,6 +1325,7 @@ metadata file are set correctly. All other values are left untouched.</p>
<li><strong>install_log</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) The path to write the log from qemu</li> <li><strong>install_log</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) The path to write the log from qemu</li>
<li><strong>disk_img</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) The full path to the disk image to be created</li> <li><strong>disk_img</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) The full path to the disk image to be created</li>
<li><strong>disk_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) The size of the disk_img in MiB</li> <li><strong>disk_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) The size of the disk_img in MiB</li>
<li><strong>cancel_func</strong> (<em>function</em>) Function that returns True to cancel build</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -2217,7 +2226,7 @@ lowest numbered directory entry is returned.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Search &mdash; Lorax 28.14.17 documentation</title> <title>Search &mdash; Lorax 28.14.21 documentation</title>
@ -56,7 +56,7 @@
<div class="version"> <div class="version">
28.14.17 28.14.21
</div> </div>
@ -199,7 +199,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.14.17', VERSION:'28.14.21',
LANGUAGE:'None', LANGUAGE:'None',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" Man page generated from reStructuredText.
. .
.TH "COMPOSER-CLI" "1" "Dec 07, 2018" "28.14.17" "Lorax" .TH "COMPOSER-CLI" "1" "Jan 09, 2019" "28.14.21" "Lorax"
.SH NAME .SH NAME
composer-cli \- Composer Cmdline Utility Documentation composer-cli \- Composer Cmdline Utility Documentation
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" Man page generated from reStructuredText.
. .
.TH "LIVEMEDIA-CREATOR" "1" "Dec 07, 2018" "28.14.17" "Lorax" .TH "LIVEMEDIA-CREATOR" "1" "Jan 09, 2019" "28.14.21" "Lorax"
.SH NAME .SH NAME
livemedia-creator \- Live Media Creator Documentation livemedia-creator \- Live Media Creator Documentation
. .
@ -233,7 +233,7 @@ Default: "Linux"
.B\-\-releasever .B\-\-releasever
substituted for @VERSION@ in bootloader config files substituted for @VERSION@ in bootloader config files
.sp .sp
Default: "28" Default: "8"
.TP .TP
.B\-\-volid .B\-\-volid
volume id volume id
@ -397,7 +397,7 @@ Run this to create a bootable live iso:
.nf .nf
.ft C .ft C
sudo livemedia\-creator \-\-make\-iso \e sudo livemedia\-creator \-\-make\-iso \e
\-\-iso=/extra/iso/boot.iso \-\-ks=./docs/fedora\-livemedia.ks \-\-iso=/extra/iso/boot.iso \-\-ks=./docs/rhel\-livemedia.ks
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -411,7 +411,7 @@ You can run it directly from the lorax git repo like this:
.ft C .ft C
sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia\-creator \e sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia\-creator \e
\-\-make\-iso \-\-iso=/extra/iso/boot.iso \e \-\-make\-iso \-\-iso=/extra/iso/boot.iso \e
\-\-ks=./docs/fedora\-livemedia.ks \-\-lorax\-templates=./share/ \-\-ks=./docs/rhel\-livemedia.ks \-\-lorax\-templates=./share/
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -584,7 +584,7 @@ the current directory or in the directory used for \-\-logfile
.sp .sp
Example cmdline: Example cmdline:
.sp .sp
\fBsudo livemedia\-creator \-\-make\-iso \-\-no\-virt \-\-ks=./fedora\-livemedia.ks\fP \fBsudo livemedia\-creator \-\-make\-iso \-\-no\-virt \-\-ks=./rhel\-livemedia.ks\fP
.sp .sp
\fBNOTE:\fP \fBNOTE:\fP
.INDENT 0.0 .INDENT 0.0
@ -613,7 +613,7 @@ that it would work with livemedia\-creator.
.sp .sp
Example cmdline: Example cmdline:
.sp .sp
\fBsudo livemedia\-creator \-\-make\-ami \-\-iso=/path/to/boot.iso \-\-ks=./docs/fedora\-livemedia\-ec2.ks\fP \fBsudo livemedia\-creator \-\-make\-ami \-\-iso=/path/to/boot.iso \-\-ks=./docs/rhel\-livemedia\-ec2.ks\fP
.sp .sp
This will produce an ami\-root.img file in the working directory. This will produce an ami\-root.img file in the working directory.
.sp .sp
@ -697,7 +697,7 @@ You can also create qcow2 appliance images using \fB\-\-image\-type=qcow2\fP, fo
.sp .sp
.nf .nf
.ft C .ft C
sudo livemedia\-creator \-\-make\-appliance \-\-iso=/path/to/boot.iso \-\-ks=./docs/fedora\-minimal.ks \e sudo livemedia\-creator \-\-make\-appliance \-\-iso=/path/to/boot.iso \-\-ks=./docs/rhel\-minimal.ks \e
\-\-image\-type=qcow2 \-\-app\-file=minimal\-test.xml \-\-image\-name=minimal\-test.img \-\-image\-type=qcow2 \-\-app\-file=minimal\-test.xml \-\-image\-name=minimal\-test.img
.ft P .ft P
.fi .fi
@ -712,7 +712,7 @@ no\-virt modes of operation. Previously it was only available with no\-virt.
Kickstarts should have a single / partition with no extra mountpoints. Kickstarts should have a single / partition with no extra mountpoints.
.INDENT 0.0 .INDENT 0.0
.INDENT 3.5 .INDENT 3.5
\fBlivemedia\-creator \-\-make\-fsimage \-\-iso=/path/to/boot.iso \-\-ks=./docs/fedora\-minimal.ks\fP \fBlivemedia\-creator \-\-make\-fsimage \-\-iso=/path/to/boot.iso \-\-ks=./docs/rhel\-minimal.ks\fP
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.sp .sp
@ -732,8 +732,8 @@ For example:
.sp .sp
.nf .nf
.ft C .ft C
livemedia\-creator \-\-make\-tar \-\-iso=/path/to/boot.iso \-\-ks=./docs/fedora\-minimal.ks \e livemedia\-creator \-\-make\-tar \-\-iso=/path/to/boot.iso \-\-ks=./docs/rhel\-minimal.ks \e
\-\-image\-name=fedora\-root.tar.xz \-\-image\-name=rhel\-root.tar.xz
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -752,7 +752,7 @@ using Atomic installer iso with local repo included in the image can be found
in docs/rhel\-atomic\-pxe\-live.ks. in docs/rhel\-atomic\-pxe\-live.ks.
.sp .sp
The PXE images can also be created with \fB\-\-no\-virt\fP by using the example The PXE images can also be created with \fB\-\-no\-virt\fP by using the example
kickstart in docs/fedora\-atomic\-pxe\-live\-novirt.ks. This also works inside the kickstart in docs/rhel\-atomic\-pxe\-live\-novirt.ks. This also works inside the
mock environment. mock environment.
.SH USING MOCK AND --NO-VIRT TO CREATE IMAGES .SH USING MOCK AND --NO-VIRT TO CREATE IMAGES
.sp .sp
@ -809,10 +809,10 @@ Make sure tar and dracut\-network are in the %packages section and that the
\fBurl points to the correct repo\fP \fBurl points to the correct repo\fP
.IP 7. 3 .IP 7. 3
Init the mock Init the mock
\fBmock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-init\fP \fBmock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-init\fP
.IP 8. 3 .IP 8. 3
Copy the kickstart inside the mock Copy the kickstart inside the mock
\fBmock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-copyin ./fedora\-minimal.ks /root/\fP \fBmock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-copyin ./rhel\-minimal.ks /root/\fP
.IP 9. 3 .IP 9. 3
Make a minimal iso: Make a minimal iso:
.INDENT 3.0 .INDENT 3.0
@ -820,9 +820,9 @@ Make a minimal iso:
.sp .sp
.nf .nf
.ft C .ft C
mock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-chroot \-\- livemedia\-creator \-\-no\-virt \e mock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-chroot \-\- livemedia\-creator \-\-no\-virt \e
\-\-resultdir=/results/try\-1 \-\-logfile=/results/logs/try\-1/try\-1.log \e \-\-resultdir=/results/try\-1 \-\-logfile=/results/logs/try\-1/try\-1.log \e
\-\-make\-iso \-\-ks /root/fedora\-minimal.ks \-\-make\-iso \-\-ks /root/rhel\-minimal.ks
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -880,13 +880,13 @@ Make sure tar and dracut\-network are in the %packages section and that the
\fBurl points to the correct repo\fP \fBurl points to the correct repo\fP
.IP 7. 3 .IP 7. 3
Init the mock Init the mock
\fBmock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-init\fP \fBmock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-init\fP
.IP 8. 3 .IP 8. 3
Copy the kickstart inside the mock Copy the kickstart inside the mock
\fBmock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-copyin ./fedora\-minimal.ks /root/\fP \fBmock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-copyin ./rhel\-minimal.ks /root/\fP
.IP 9. 3 .IP 9. 3
Copy the Anaconda boot.iso inside the mock Copy the Anaconda boot.iso inside the mock
\fBmock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-copyin ./boot.iso /root/\fP \fBmock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-copyin ./boot.iso /root/\fP
.IP 10. 3 .IP 10. 3
Make a minimal iso: Make a minimal iso:
.INDENT 3.0 .INDENT 3.0
@ -894,9 +894,9 @@ Make a minimal iso:
.sp .sp
.nf .nf
.ft C .ft C
mock \-r fedora\-rawhide\-x86_64 \-\-old\-chroot \-\-chroot \-\- livemedia\-creator \e mock \-r rhel\-8\-x86_64 \-\-old\-chroot \-\-chroot \-\- livemedia\-creator \e
\-\-resultdir=/results/try\-1 \-\-logfile=/results/logs/try\-1/try\-1.log \e \-\-resultdir=/results/try\-1 \-\-logfile=/results/logs/try\-1/try\-1.log \e
\-\-make\-iso \-\-ks /root/fedora\-minimal.ks \-\-iso /root/boot.iso \-\-make\-iso \-\-ks /root/rhel\-minimal.ks \-\-iso /root/boot.iso
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -917,15 +917,15 @@ create images for importing into glance, OpenStack\(aqs image storage component.
You need to have access to an OpenStack provider that allows image uploads, or You need to have access to an OpenStack provider that allows image uploads, or
setup your own using the instructions from the \fI\%RDO Project\fP\&. setup your own using the instructions from the \fI\%RDO Project\fP\&.
.sp .sp
The example kickstart, fedora\-openstack.ks, is only slightly different than the The example kickstart, rhel\-openstack.ks, is only slightly different than the
fedora\-minimal.ks one. It adds the cloud\-init and cloud\-utils\-growpart rhel\-minimal.ks one. It adds the cloud\-init and cloud\-utils\-growpart
packages. OpenStack supports setting up the image using cloud\-init, and packages. OpenStack supports setting up the image using cloud\-init, and
cloud\-utils\-growpart will grow the image to fit the instance\(aqs disk size. cloud\-utils\-growpart will grow the image to fit the instance\(aqs disk size.
.sp .sp
Create a qcow2 image using the kickstart like this: Create a qcow2 image using the kickstart like this:
.INDENT 0.0 .INDENT 0.0
.INDENT 3.5 .INDENT 3.5
\fBsudo livemedia\-creator \-\-make\-disk \-\-iso=/path/to/boot.iso \-\-ks=/path/to/fedora\-openstack.ks \-\-image\-type=qcow2\fP \fBsudo livemedia\-creator \-\-make\-disk \-\-iso=/path/to/boot.iso \-\-ks=/path/to/rhel\-openstack.ks \-\-image\-type=qcow2\fP
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.sp .sp
@ -942,30 +942,30 @@ Import the resulting disk image into the OpenStack system, either via the web UI
.sp .sp
.nf .nf
.ft C .ft C
glance image\-create \-\-name "fedora\-openstack" \-\-is\-public true \-\-disk\-format qcow2 \e glance image\-create \-\-name "rhel\-openstack" \-\-is\-public true \-\-disk\-format qcow2 \e
\-\-container\-format bare \-\-file ./fedora\-openstack.qcow2 \-\-container\-format bare \-\-file ./rhel\-openstack.qcow2
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.sp .sp
If qcow2 wasn\(aqt used then \fB\-\-disk\-format\fP should be set to raw. If qcow2 wasn\(aqt used then \fB\-\-disk\-format\fP should be set to raw.
.SH DOCKER IMAGE CREATION .SH CONTAINER IMAGE CREATION
.sp .sp
Use lmc to create a tarfile as described in the \fI\%TAR File Creation\fP section, but substitute the Use lmc to create a tarfile as described in the \fI\%TAR File Creation\fP section, but substitute the
fedora\-docker.ks example kickstart which removes the requirement for core files and the kernel. rhel\-container.ks example kickstart which removes the requirement for core files and the kernel.
.sp .sp
You can then import the tarfile into docker like this (as root): You can then import the tarfile into podman or docker like this:
.INDENT 0.0 .INDENT 0.0
.INDENT 3.5 .INDENT 3.5
\fBcat /var/tmp/fedora\-root.tar.xz | docker import \- fedora\-root\fP \fBpodman import /var/tmp/root.tar.xz rhel\-root\fP
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.sp .sp
And then run bash inside of it: And then run bash inside of it:
.INDENT 0.0 .INDENT 0.0
.INDENT 3.5 .INDENT 3.5
\fBsudo docker run \-i \-t fedora\-root /bin/bash\fP \fBpodman run \-i \-t rhel\-root /bin/bash\fP
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.SH OPEN CONTAINER INITIATIVE IMAGE CREATION .SH OPEN CONTAINER INITIATIVE IMAGE CREATION
@ -979,7 +979,7 @@ OCI images using the following command:
.nf .nf
.ft C .ft C
sudo livemedia\-creator \-\-make\-oci \-\-oci\-config /path/to/config.json \-\-oci\-runtime /path/to/runtime.json \e sudo livemedia\-creator \-\-make\-oci \-\-oci\-config /path/to/config.json \-\-oci\-runtime /path/to/runtime.json \e
\-\-iso=/path/to/boot.iso \-\-ks=/path/to/fedora\-minimal.ks \-\-iso=/path/to/boot.iso \-\-ks=/path/to/rhel\-minimal.ks
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -1000,7 +1000,7 @@ partitioned disk images.
.nf .nf
.ft C .ft C
sudo livemedia\-creator \-\-make\-vagrant \-\-vagrant\-metadata /path/to/metadata.json \e sudo livemedia\-creator \-\-make\-vagrant \-\-vagrant\-metadata /path/to/metadata.json \e
\-\-iso=/path/to/boot.iso \-\-ks=/path/to/fedora\-vagrant.ks \-\-iso=/path/to/boot.iso \-\-ks=/path/to/rhel\-vagrant.ks
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -1046,7 +1046,7 @@ Now you can run livemedia\-creator with \fB\-\-virt\-uefi\fP to boot and install
.nf .nf
.ft C .ft C
sudo livemedia\-creator \-\-make\-disk \-\-virt\-uefi \-\-iso=/path/to/boot.iso \e sudo livemedia\-creator \-\-make\-disk \-\-virt\-uefi \-\-iso=/path/to/boot.iso \e
\-\-ks=/path/to/fedora\-minimal.ks \-\-ks=/path/to/rhel\-minimal.ks
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
@ -1069,7 +1069,7 @@ part /boot/efi \-\-fstype="efi" \-\-size=500
.INDENT 3.5 .INDENT 3.5
When using the resulting image with the current version of OVMF (edk2.git\-ovmf\-x64\-0\-20151103.b1295.ge5cffca) When using the resulting image with the current version of OVMF (edk2.git\-ovmf\-x64\-0\-20151103.b1295.ge5cffca)
it will not boot automatically because there is a problem with the fallback path. it will not boot automatically because there is a problem with the fallback path.
You can boot it by entering the UEFI shell and running EFI/fedora/shim.efi and You can boot it by entering the UEFI shell and running EFI/redhat/shim.efi and
then using efibootmgr to setup the correct boot entry. then using efibootmgr to setup the correct boot entry.
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" Man page generated from reStructuredText.
. .
.TH "LORAX-COMPOSER" "1" "Dec 07, 2018" "28.14.17" "Lorax" .TH "LORAX-COMPOSER" "1" "Jan 09, 2019" "28.14.21" "Lorax"
.SH NAME .SH NAME
lorax-composer \- Lorax Composer Documentation lorax-composer \- Lorax Composer Documentation
. .
@ -372,7 +372,7 @@ the compose directory to the results directory.
.UNINDENT .UNINDENT
.sp .sp
The \fBpartitioned\-disk.ks\fP is pretty similar to the example minimal kickstart The \fBpartitioned\-disk.ks\fP is pretty similar to the example minimal kickstart
in \fB\&./docs/fedora\-minimal.ks\fP\&. You should remove the \fBurl\fP and \fBrepo\fP in \fB\&./docs/rhel\-minimal.ks\fP\&. You should remove the \fBurl\fP and \fBrepo\fP
commands, they will be added by the compose process. Make sure the bootloader commands, they will be added by the compose process. Make sure the bootloader
packages are included in the \fB%packages\fP section at the end of the kickstart, packages are included in the \fB%packages\fP section at the end of the kickstart,
and you will want to leave off the \fB%end\fP so that the compose can append the and you will want to leave off the \fB%end\fP so that the compose can append the

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" Man page generated from reStructuredText.
. .
.TH "LORAX" "1" "Dec 07, 2018" "28.14.17" "Lorax" .TH "LORAX" "1" "Jan 09, 2019" "28.14.21" "Lorax"
.SH NAME .SH NAME
lorax \- Lorax Documentation lorax \- Lorax Documentation
. .
@ -221,9 +221,9 @@ Names of repos to disable
Default: [] Default: []
.TP .TP
.B\-\-rootfs\-size .B\-\-rootfs\-size
Size of root filesystem in GiB. Defaults to 2. Size of root filesystem in GiB. Defaults to 3.
.sp .sp
Default: 2 Default: 3
.TP .TP
.B\-\-noverifyssl .B\-\-noverifyssl
Do not verify SSL certificates Do not verify SSL certificates