lib/deploy: Also compare deployment csum versions
When comparing deployments to determine whether we need a new bootversion, we should also check whether the commit "version" metadata is the same. Otherwise, we may end up with the a bootconfig whose `title` includes a version that doesn't match the one from the deployment checksum. Closes: https://github.com/projectatomic/rpm-ostree/issues/1343 Closes: #1556 Approved by: cgwalters
This commit is contained in:
1 parent
ab8d694361
commit
dc4aa346a3
3 files changed
+41
-4
No files matched your search
+1
-1
@@ -491,7 +491,7 @@ os_repository_new_commit ()
|
||||
|
||||
echo "content iteration ${content_iteration}" > usr/bin/content-iteration
|
||||
|
||||
version=$(date "+%Y%m%d.${content_iteration}")
|
||||
export version=$(date "+%Y%m%d.${content_iteration}")
|
||||
|
||||
${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --add-metadata-string "version=${version}" -b $branch -s "Build"
|
||||
cd ${test_tmpdir}
|
||||
|
||||
@@ -26,7 +26,7 @@ set -euo pipefail
|
||||
# Exports OSTREE_SYSROOT so --sysroot not needed.
|
||||
setup_os_repository "archive" "syslinux"
|
||||
|
||||
echo "1..6"
|
||||
echo "1..7"
|
||||
|
||||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmaster/x86_64-runtime
|
||||
rev=$(${CMD_PREFIX} ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
@@ -64,6 +64,19 @@ assert_file_has_content sysroot/ostree/deploy/testos/deploy/${newrev}.0/etc/os-r
|
||||
|
||||
echo "ok manual cleanup"
|
||||
|
||||
# Commit + upgrade twice, so that we'll rotate out the original deployment
|
||||
os_repository_new_commit "1"
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos
|
||||
oldversion=${version}
|
||||
# another commit with *same* bootcsum but *new* content
|
||||
os_repository_new_commit "1" "2"
|
||||
newversion=${version}
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf ${oldversion}
|
||||
${CMD_PREFIX} ostree admin upgrade --os=testos
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf ${newversion}
|
||||
|
||||
echo "ok new version same bootcsum"
|
||||
|
||||
assert_n_pinned() {
|
||||
local n=$1
|
||||
${CMD_PREFIX} ostree admin status > status.txt
|
||||
|
||||
Reference in new issue
Block a user