debian-forge/test
Lars Karlitski 510e2b1e94 osbuild: introduce sources
Pipelines encode which source content they need in the form of
repository metadata checksums (or rpm checksums). In addition, they
encode where they fetch that source content from in the form of URLs.
This is overly specific and doesn't have to be in the pipeline's hash:
the checksum is enough to specify an image.

In practice, this precluded using alternative ways of getting at source
packages, such as local mirrors, which could speed up development.

Introduce a new osbuild API: sources. With it, a stage can query for a
way to fetch source content based on checksums.

The first such source is `org.osbuild.dnf`, which returns repository
configuration for a metadata checksum. Note that the dnf stage continues
to verify that the content it received matches the checksum it expects.

Sources are implemented as programs, living in a `sources` directory.
They are run on the host (i.e., uncontained) right now. Each source gets
passed options, which are taken from a new command line argument to
osbuild, and an array of checksums for which to return content.

This API is only available to stages right now.
2019-12-23 01:12:38 +01:00
..
pipelines osbuild: introduce sources 2019-12-23 01:12:38 +01:00
stages_tests osbuild: introduce sources 2019-12-23 01:12:38 +01:00
testing-rpms improve vagrant test and its documentation 2019-07-25 12:46:53 +02:00
.gitignore introduce testing script 2019-07-09 10:29:48 +02:00
__init__.py osbuild: add description() methods 2019-08-07 10:01:17 +02:00
osbuildtest.py osbuild: introduce sources 2019-12-23 01:12:38 +01:00
README.md improve vagrant test and its documentation 2019-07-25 12:46:53 +02:00
test_assemblers.py osbuild: introduce sources 2019-12-23 01:12:38 +01:00
test_boot.py osbuild: introduce sources 2019-12-23 01:12:38 +01:00
test_osbuild.py Introduce runners 2019-11-25 13:05:22 +01:00
test_stageinfo.py Add STAGE_DESC, STAGE_INFO, and STAGE_OPTS to stages 2019-11-13 21:47:03 +01:00
test_stages.py osbuild: introduce sources 2019-12-23 01:12:38 +01:00

Setup

To run the tests in vagrant virtual machine, please follow this tutorial: https://developer.fedoraproject.org/tools/vagrant/vagrant-libvirt.html

(run also sudo systemctl start libvirtd)

Using Vagrant

To start a Vagrant box by hand, run vagrant up in this directory. To stop and remove all volumes run vagrant destroy again in this directory.

Troubleshooting

In case you accidentally deleted .vagrant directory, you can use some of these commands in order to get rid of running instance:

$ virsh list # this should display test_default
$ virsh managedsave-remove test_default
$ virsh undefine test_default
# or using vagrant cli tool
$ vagrant global-status
$ vagrant destroy <id>
$ vagrant global-status --prune