summaryrefslogtreecommitdiff
path: root/yarns/deployment.yarn
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@gmail.com>2014-09-24 20:37:29 +0000
committerRichard Maw <richard.maw@gmail.com>2014-10-01 09:30:15 +0000
commit54c81674db48d5c9eb151199ef1bc434fd1bd4a6 (patch)
treee885fa0240b83ef70eafa1a49a99538e13abde14 /yarns/deployment.yarn
parent6b28a2798c0ad938c4d365404ad2812b610b5b23 (diff)
downloadmorph-54c81674db48d5c9eb151199ef1bc434fd1bd4a6.tar.gz
Move the branch-from-image test to a yarn
Diffstat (limited to 'yarns/deployment.yarn')
-rw-r--r--yarns/deployment.yarn45
1 files changed, 45 insertions, 0 deletions
diff --git a/yarns/deployment.yarn b/yarns/deployment.yarn
index 40b50432..0782c7c1 100644
--- a/yarns/deployment.yarn
+++ b/yarns/deployment.yarn
@@ -283,3 +283,48 @@ deployment.
WHEN the user attempts to deploy test-system.sysroot from cluster test-cluster.morph in branch master
THEN morph failed
FINALLY the git server is shut down
+
+Deploying branch-from-image produced systems
+============================================
+
+We have this nifty subcommand called branch-from-image, which can be
+used to build the same thing as an existing image.
+
+There's no special requirements for making the image reproducible.
+
+ SCENARIO reproducing systems
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND the user builds the system systems/test-system.morph in branch master
+ GIVEN a cluster called test-cluster.morph in system branch master
+ AND a system in cluster test-cluster.morph in branch master called test-system
+ AND system test-system in cluster test-cluster.morph in branch master builds systems/test-system.morph
+ AND system test-system in cluster test-cluster.morph in branch master has deployment type: sysroot
+ AND system test-system in cluster test-cluster.morph in branch master has deployment location: test-system
+ WHEN the user attempts to deploy the cluster test-cluster.morph in branch master
+ THEN morph succeeded
+ AND file workspace/master/test/morphs/test-system exists
+
+To reproduce an existing image, do a checkout with the extracted root
+filesystem's /baserock directory as the `--metadata-dir` argument.
+
+ WHEN the user attempts to check out the system branch from workspace/master/test/morphs/test-system called mybranch
+ THEN morph succeeded
+ AND the system branch mybranch is checked out
+
+After it is checked-out, the system can be rebuilt.
+
+ WHEN the user attempts to build the system systems/test-system.morph in branch mybranch
+ THEN morph succeeded
+
+Once it is rebuilt, it can be deployed.
+
+ GIVEN a cluster called test-cluster.morph in system branch mybranch
+ AND a system in cluster test-cluster.morph in branch mybranch called test-system
+ AND system test-system in cluster test-cluster.morph in branch mybranch builds systems/test-system.morph
+ AND system test-system in cluster test-cluster.morph in branch mybranch has deployment type: tar
+ AND system test-system in cluster test-cluster.morph in branch mybranch has deployment location: test-system.tar
+ WHEN the user attempts to deploy the cluster test-cluster.morph in branch mybranch
+ THEN morph succeeded
+ AND file workspace/mybranch/test/morphs/test-system.tar exists