summaryrefslogtreecommitdiff
path: root/clusters/upgrade-devel.morph
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2014-04-14 12:22:34 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2014-04-14 12:22:34 +0000
commit10dda889872542b8f261555c139791ff34eec9b1 (patch)
tree3e9ab7f5f4973b68b32780cdafcc5ed050afcc1f /clusters/upgrade-devel.morph
parent08cc81090d122ef6a6530b28a8c9619e92781fc7 (diff)
downloaddefinitions-10dda889872542b8f261555c139791ff34eec9b1.tar.gz
Update and move strata, systems and clusters
Diffstat (limited to 'clusters/upgrade-devel.morph')
-rw-r--r--clusters/upgrade-devel.morph45
1 files changed, 45 insertions, 0 deletions
diff --git a/clusters/upgrade-devel.morph b/clusters/upgrade-devel.morph
new file mode 100644
index 00000000..fc5f5b30
--- /dev/null
+++ b/clusters/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