Followup to: https://github.com/ostreedev/ostree/pull/1503 After starting some more work on on this in rpm-ostree, it is actually simpler if the staged deployment just shows up in the list. It's effectively opt-in today; down the line we may make it the default, but I worry about breaking things that e.g. assume they can mutate the deployment before rebooting and have `/etc` already merged. There's not that many things in libostree that iterate over the deployment list. The biggest change here is around the `ostree_sysroot_write_deployments_with_options` API. I initially tried hard to support a use case like "push a rollback" while retaining the staged deployment, but everything gets very messy because that function truly is operating on the bootloader list. For now what I settled on is to just discard the staged deployment; down the line we can enhance things. Where we then have some new gymnastics is around implementing the finalization; we need to go to some effort to pull the staged deployment out of the list and mark it as unstaged, and then pass it down to `write_deployments()`. Closes: #1539 Approved by: jlebon |
||
|---|---|---|
| .. | ||
| destructive | ||
| nondestructive | ||
| tasks | ||
| README.md | ||
| destructive.yml | ||
| execute_batch.yml | ||
| libinsttest.sh | ||
| libtest-core.sh | ||
| nondestructive.yml | ||
| playbook-run.sh | ||
| provision.sh | ||
| run.sh | ||
README.md
This directory holds tests that use the Fedora Standard Test Interface.
The high level structure is that we take a qcow2 file, inject built RPMs into it, and then use Ansible to run tests.
See .papr.yml for canonical usage.
For local development, you should cache the qcow2 somewhere
stable (outside of this git repo). Also note that ../ci/build-rpms.sh
does not pick up uncommitted changes! Stated more strongly, you
currently need to run build-rpms.sh after every change.
To run just a specific test, use e.g.:
env TEST_SUBJECTS=/path/to/qcow2 ./playbook-run.sh -e tests=.*pull nondestructive.yml