From 6f9cd00769639cba8e19eb27ae2c396fad74df5c Mon Sep 17 00:00:00 2001 From: Rafael Fonseca Date: Thu, 31 Oct 2019 11:06:32 +0100 Subject: [PATCH] tests/staged-deploy: test --keep-previous option Signed-off-by: Rafael Fonseca --- tests/installed/destructive/staged-deploy.yml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/installed/destructive/staged-deploy.yml b/tests/installed/destructive/staged-deploy.yml index cfd9165b57..abdb6bfb0f 100644 --- a/tests/installed/destructive/staged-deploy.yml +++ b/tests/installed/destructive/staged-deploy.yml @@ -113,5 +113,28 @@ environment: commit: "{{ rpmostree_status['deployments'][0]['checksum'] }}" +- name: Previous version is retained during staged + shell: | + set -xeuo pipefail + ostree --repo=/ostree/repo refs --create nonstaged-deploy "${commit}" + ostree admin deploy nonstaged-deploy + ostree admin deploy --stage --retain-previous-version staged-deploy + test -f /run/ostree/staged-deployment + ostree admin status > status.txt + grep -qFe '(staged)' status.txt + environment: + commit: "{{ rpmostree_status['deployments'][0]['checksum'] }}" +- include_tasks: ../tasks/reboot.yml +- name: Check that previous version was kept + shell: | + set -xeuo pipefail + rpm-ostree status + # Assert that the previous boot had a journal entry for it + journalctl -b "-1" -u ostree-finalize-staged.service | grep -q -e 'Transaction complete' + # And there should not be a staged deployment + test '!' -f /run/ostree/staged-deployment + ostree admin status > status.txt + test $(grep -Fce 'Version: ' status.txt) == 1 + - name: Cleanup refs shell: ostree refs --delete staged-deploy nonstaged-deploy