name: upgrade-devel kind: cluster description: | This is a cluster morphology that can be used to deploy systems to a an existing Baserock devel system, as an upgrade of the running system. This method is for users who deployed a system manually from one of the images provided on http://download.baserock.org. IT IS ONLY POSSIBLE TO UPGRADE BASEROCK 14 RELEASES OR NEWER. If you deployed your system using `morph deploy` then you should reuse the cluster morphology you did the initial deployment with, instead of this one, so that the configuration is preserved in the new system. Ensure that your root user has passwordless SSH access to localhost with `ssh root@localhost whoami`. If not, run `ssh-copy-id root@localhost`. Make sure the 'morph' field below matches the system you are upgrading. To upgrade, fill in $HOSTNAME and $VERSION_LABEL below and run: morph deploy --upgrade upgrade-devel.morph Alternatively, you can delete those two configuration lines and run: morph deploy --upgrade upgrade-devel.HOSTNAME=$HOSTNAME upgrade-devel.VERSION_LABEL=$YYYY-MM-DD Your configuration in /etc should be propagated to the new system, but there may be merge conflicts. Check /etc for files named '.rej' and '.orig' in the new system, which will indicate that there are changes from the old system that must be merged manually. You can get a nice diff from the old /etc as follows: mount /dev/sda /mnt git diff --no-index /mnt/systems/factory/run/etc /mnt/systems/$VERSION_LABEL/run/etc On a base system, use 'diff -r' instead of 'git diff --no-index'. It will not be as colourful. systems: - morph: devel-system-x86_64-generic deploy: upgrade-devel: type: ssh-rsync location: root@localhost HOSTNAME: $HOSTNAME VERSION_LABEL: $YYYY-MM-DD