Many users will have downloaded images from git.baserock.org
and set them
up manually, so do not have an existing cluster morphology to upgrade with.
This gives them a hint on how to use the Baserock upgrade mechanism.
You can only use this mechanism from Baserock 14 onwards.
upgrade-devel.morph | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 upgrade-devel.morph
diff --git a/upgrade-devel.morph b/upgrade-devel.morph
new file mode 100644
@@ -0,0 +1,45 @@
+ 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
+ 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'
+ 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
+ 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
+ not be as colourful.
+- morph: devel-system-x86_64-generic
+ type: ssh-rsync
+ location: root@localhost
+ HOSTNAME: $HOSTNAME
+ VERSION_LABEL: $YYYY-MM-DD