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, select a sensible a value for VERSION_LABEL and run: morph upgrade clusters/upgrade-devel.morph self.HOSTNAME=$(hostname) self.VERSION_LABEL=$VERSION_LABEL 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: systems/devel-system-x86_64-generic.morph deploy: self: upgrade-type: extensions/ssh-rsync upgrade-location: root@127.0.0.1