upgrade: drop configuration from pre-2021 sysrepo
In early 2021 we switched from persisting the entire /etc/sysrepo to
storing only the JSON content of the startup DS. This still works fine,
but now I'm about to migrate to 2023-era libnetconf2 which uses a
backwards-incompatible layout of several modules that are related to the
NETCONF server management. The plan is to selectively drop some parts of
the JSON config. Doing that would, however, fail on systems where the
config filesystem contains something else but this JSON file.
I would like to reduce the number of supported upgrade paths, and simply
rejecting this config looks like a reasonable thing to do in 2024,
considering the limited number of deployments.
Change-Id: Ic983d2304049c5554cb1e6a96c014ed285afee97
diff --git a/package/czechlight-rauc/rauc-hook.sh b/package/czechlight-rauc/rauc-hook.sh
index 33d420a..4a7cfb7 100755
--- a/package/czechlight-rauc/rauc-hook.sh
+++ b/package/czechlight-rauc/rauc-hook.sh
@@ -35,13 +35,11 @@
rm -rf ${RAUC_SLOT_MOUNT_POINT}/etc/sysrepo
# No more netopeer2-keystored, different config
rm -rf ${RAUC_SLOT_MOUNT_POINT}/etc/keystored
- echo "sysrepo configuration not preserved"
+ echo "sysrepo configuration not preserved (incompatible layout, too old version, standalone keystored)"
elif [[ -d /cfg/etc/sysrepo ]]; then
# switch from "persisting whole /etc/sysrepo" to "exporting config via JSON"
rm -rf ${RAUC_SLOT_MOUNT_POINT}/etc/sysrepo
- umask 0077
- mkdir ${RAUC_SLOT_MOUNT_POINT}/sysrepo
- sysrepocfg -d startup -f json -X > ${RAUC_SLOT_MOUNT_POINT}/sysrepo/startup.json
+ echo "sysrepo configuration not preserved (copy of the whole /etc/sysrepo)"
fi
exit 0