summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--upgrade-devel.morph45
1 files changed, 45 insertions, 0 deletions
diff --git a/upgrade-devel.morph b/upgrade-devel.morph
new file mode 100644
index 00000000..fc5f5b30
--- /dev/null
+++ b/upgrade-devel.morph
@@ -0,0 +1,45 @@
+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