Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clalancette/oz
Automated installation for guest images
https://github.com/clalancette/oz
python virtualization
Last synced: 9 days ago
JSON representation
Automated installation for guest images
- Host: GitHub
- URL: https://github.com/clalancette/oz
- Owner: clalancette
- License: lgpl-2.1
- Created: 2010-11-03T19:13:32.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2024-10-17T11:35:04.000Z (22 days ago)
- Last Synced: 2024-10-30T14:45:49.656Z (9 days ago)
- Topics: python, virtualization
- Language: Python
- Homepage:
- Size: 3.18 MB
- Stars: 310
- Watchers: 23
- Forks: 129
- Open Issues: 43
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
- awesome-repositories - clalancette/oz - Automated installation for guest images (Python)
- awesome-starred - clalancette/oz - Automated installation for guest images (python)
README
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.