summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-05-15 10:40:26 +0100
committerBaserock Gerrit <gerrit@baserock.org>2015-05-20 14:12:41 +0000
commit0f58def75fab90923f46faf556b0ce6642d638b6 (patch)
tree3ed85d692e7d6c8ab2d6f20de20579d1ae04feb0
parent5079743cdc4e88613b8a18c0ee78b11da8aeb94d (diff)
downloaddefinitions-0f58def75fab90923f46faf556b0ce6642d638b6.tar.gz
Mason workspace should be in /srv/distbuild
The mason.sh script does all its work in a directory called 'ws', created in the current directory of wherever it is run from. When run as a system service it creates /ws in the root filesystem. The work Mason does involves creating one or more disk images, and these can require a lot of disk space and IO bandwidth. The root filesystem of a machine isn't a good place to do this sort of thing: running out of diskspace there will completely break the system, and it may be stored on an SD card or eMMC. There is an established pattern in deploying Baserock 'distbuild' systems to have an external hard disk or volume mounted at /srv/distbuild, so that running builds and caching built artifacts doesn't take place on the root filesystem. It makes sense to move the Mason workspace in there too. Change-Id: I39f53373a7411c8816e886886c8af40e08f4782e
-rw-r--r--mason/mason.service2
1 files changed, 2 insertions, 0 deletions
diff --git a/mason/mason.service b/mason/mason.service
index a864d610..d5c99498 100644
--- a/mason/mason.service
+++ b/mason/mason.service
@@ -1,10 +1,12 @@
[Unit]
Description=Mason: Continuous Delivery Service
After=mason-setup.service
+ConditionPathIsDirectory=/srv/distbuild
[Service]
User=root
ExecStart=/usr/lib/mason/mason-report.sh
+WorkingDirectory=/srv/distbuild
[Install]
WantedBy=multi-user.target