Skip to content

clalancette/oz

Folders and files

NameName
Last commit message
Last commit date
Aug 21, 2024
Jul 19, 2024
Aug 12, 2014
Oct 16, 2024
Aug 21, 2024
Oct 16, 2024
Aug 21, 2024
Aug 21, 2024
Sep 11, 2013
Aug 21, 2024
Mar 22, 2011
Aug 21, 2024
Aug 21, 2024
Aug 23, 2014
Aug 21, 2024
Oct 16, 2024
Nov 26, 2013
Jun 20, 2018
Jun 20, 2018
Jun 20, 2018
Jun 20, 2018
Mar 17, 2016
Jul 19, 2024
Jul 19, 2024
Aug 21, 2024

Repository files navigation

Oz is a set of programs and classes to do automated installations of
operating systems.  It is useful for creating virtual machine disk
images containing an operating systems and, optionally, programs.

The best way to install it is to make an RPM out of it by running "make rpm"
or "make srpm", and then installing the resulting RPM on the target machine.
This will probably only work on Fedora or on RHEL 8 or later.

Once you have the RPM installed, you will need to build up TDL files to feed
as input into the building process.  Please see the examples directory to get
an idea of what a TDL file looks like.

You can run the oz unit tests in containers by installing make and docker
(or podman-docker), then running:

make container-unittests

You can clean up the containers and images by running:

make container-clean

Otherwise, you can try running the tests directly on your host, but oz uses the
guestfs Python module, which is not available from pypi, and needs a running
libvirtd for most of the tests to run. To install all the test requirements on
Fedora:

dnf install python3-requests python3-cryptography python3-libvirt python3-lxml python3-libguestfs python3-pytest python3-monotonic

If you wish to test on EL 7, make that:

yum install python-requests python-cryptography libvirt-python python-lxml python-libguestfs pytest python-monotonic python-mock

then run the tests:

py.test tests/

You can try `make virtualenv` then `make unittests` to run the tests in a
virtualenv if you like, but this still requires at least the libguestfs library
installed on the host, and a running libvirtd. You may also want to install
cryptography and libvirt libraries on the host, as otherwise pip will have to
compile them, and you'll need their build dependencies.

You can use `make pylint` and `make flake8` to run lint checks.