summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-03-17 12:36:15 +0000
committerRichard Ipsum <richard.ipsum@codethink.co.uk>2014-03-28 12:33:40 +0000
commitb9764c74420cf95ea751e4d8df6173d94f076a91 (patch)
tree6bb36df534ce84b0a374a5e6f6116a52b0e43862
parent0ed129b7644d080ddab8447b183e666623563e6b (diff)
downloaddefinitions-b9764c74420cf95ea751e4d8df6173d94f076a91.tar.gz
Import distbuild configuration files into definitions.git
These files should be installed into distbuild worker and controller systems using the install-files configure extension, by adding the following line in the cluster morphology. INSTALL_FILES: distbuild/manifest These files were previously in the internal Codethink chunk repo 'distbuild-setup', and were installed by a Makefile.
-rwxr-xr-xdistbuild/lib/systemd/system-generators/ccache-nfs-mount-generator16
-rw-r--r--distbuild/manifest25
-rw-r--r--distbuild/usr/lib/systemd/system/morph-cache-server.service9
-rw-r--r--distbuild/usr/lib/systemd/system/morph-controller-helper.service10
-rw-r--r--distbuild/usr/lib/systemd/system/morph-controller.service9
-rw-r--r--distbuild/usr/lib/systemd/system/morph-worker-helper.service10
-rw-r--r--distbuild/usr/lib/systemd/system/morph-worker.service10
l---------distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-cache-server.service1
l---------distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller-helper.service1
l---------distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller.service1
l---------distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker-helper.service1
l---------distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker.service1
12 files changed, 94 insertions, 0 deletions
diff --git a/distbuild/lib/systemd/system-generators/ccache-nfs-mount-generator b/distbuild/lib/systemd/system-generators/ccache-nfs-mount-generator
new file mode 100755
index 00000000..127bc84f
--- /dev/null
+++ b/distbuild/lib/systemd/system-generators/ccache-nfs-mount-generator
@@ -0,0 +1,16 @@
+#!/bin/sh
+read trove_host </etc/trove-host
+while read line; do echo "$line"; done >"$1/srv-distbuild-ccache.mount" <<EOF
+[Unit]
+Requires=rpcbind.service
+After=rpcbind.service
+SourcePath=/etc/trove-host
+
+[Mount]
+Type=nfs
+What=$trove_host:/home/cache/ccache
+Where=/srv/distbuild/ccache
+
+[Install]
+WantedBy=morph-worker.service
+EOF
diff --git a/distbuild/manifest b/distbuild/manifest
new file mode 100644
index 00000000..693e6468
--- /dev/null
+++ b/distbuild/manifest
@@ -0,0 +1,25 @@
+0040755 0 0 /lib
+0040755 0 0 /lib/systemd
+0040755 0 0 /lib/systemd/system-generators
+0100755 0 0 /lib/systemd/system-generators/ccache-nfs-mount-generator
+0040755 0 0 /srv
+0040755 0 0 /srv/distbuild
+0040755 0 0 /srv/distbuild/artifacts
+0040755 0 0 /srv/distbuild/ccache
+0040755 0 0 /srv/distbuild/gits
+0040755 0 0 /srv/distbuild/tmp
+0040755 0 0 /usr
+0040755 0 0 /usr/lib
+0040755 0 0 /usr/lib/systemd
+0040755 0 0 /usr/lib/systemd/system
+0100755 0 0 /usr/lib/systemd/system/morph-cache-server.service
+0100755 0 0 /usr/lib/systemd/system/morph-controller.service
+0100755 0 0 /usr/lib/systemd/system/morph-controller-helper.service
+0100755 0 0 /usr/lib/systemd/system/morph-worker.service
+0100755 0 0 /usr/lib/systemd/system/morph-worker-helper.service
+0040755 0 0 /usr/lib/systemd/system/multi-user.target.wants
+0120755 0 0 /usr/lib/systemd/system/multi-user.target.wants/morph-cache-server.service
+0120755 0 0 /usr/lib/systemd/system/multi-user.target.wants/morph-controller.service
+0120755 0 0 /usr/lib/systemd/system/multi-user.target.wants/morph-controller-helper.service
+0120755 0 0 /usr/lib/systemd/system/multi-user.target.wants/morph-worker.service
+0120755 0 0 /usr/lib/systemd/system/multi-user.target.wants/morph-worker-helper.service
diff --git a/distbuild/usr/lib/systemd/system/morph-cache-server.service b/distbuild/usr/lib/systemd/system/morph-cache-server.service
new file mode 100644
index 00000000..7ee5e167
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/morph-cache-server.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Morph cache server
+Requires=local-fs.target network.target
+After=local-fs.target network.target
+ConditionPathExists=/etc/morph-cache-server.conf
+
+[Service]
+ExecStart=/usr/bin/morph-cache-server
+Restart=always
diff --git a/distbuild/usr/lib/systemd/system/morph-controller-helper.service b/distbuild/usr/lib/systemd/system/morph-controller-helper.service
new file mode 100644
index 00000000..9e5bd3c8
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/morph-controller-helper.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Morph distributed build controller helper
+Requires=morph-controller.service
+After=morph-controller.service
+ConditionPathExists=/etc/morph-controller.conf
+ConditionPathExists=/etc/morph-controller-helper.conf
+
+[Service]
+ExecStart=/usr/bin/distbuild-helper --config /etc/morph-controller-helper.conf
+Restart=always
diff --git a/distbuild/usr/lib/systemd/system/morph-controller.service b/distbuild/usr/lib/systemd/system/morph-controller.service
new file mode 100644
index 00000000..b3ba93b4
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/morph-controller.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Morph distributed build controller
+Requires=local-fs.target network.target
+After=local-fs.target network.target
+ConditionPathExists=/etc/morph-controller.conf
+
+[Service]
+ExecStart=/usr/bin/morph controller-daemon --config /etc/morph-controller.conf
+Restart=always
diff --git a/distbuild/usr/lib/systemd/system/morph-worker-helper.service b/distbuild/usr/lib/systemd/system/morph-worker-helper.service
new file mode 100644
index 00000000..14c082ce
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/morph-worker-helper.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Morph distributed build worker helper
+Requires=morph-worker.service
+After=morph-worker.service
+ConditionPathExists=/etc/morph-worker.conf
+ConditionPathExists=/etc/morph-worker-helper.conf
+
+[Service]
+ExecStart=/usr/bin/distbuild-helper --config /etc/morph-worker-helper.conf
+Restart=always
diff --git a/distbuild/usr/lib/systemd/system/morph-worker.service b/distbuild/usr/lib/systemd/system/morph-worker.service
new file mode 100644
index 00000000..26dcb9ad
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/morph-worker.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Morph distributed build worker
+Requires=local-fs.target network.target
+Wants=srv-distbuild-ccache.mount
+After=local-fs.target network.target srv-distbuild-ccache.mount
+ConditionPathExists=/etc/morph-worker.conf
+
+[Service]
+ExecStart=/usr/bin/morph worker-daemon --config /etc/morph-worker.conf
+Restart=always
diff --git a/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-cache-server.service b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-cache-server.service
new file mode 120000
index 00000000..e624a31d
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-cache-server.service
@@ -0,0 +1 @@
+../morph-cache-server.service \ No newline at end of file
diff --git a/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller-helper.service b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller-helper.service
new file mode 120000
index 00000000..1554df76
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller-helper.service
@@ -0,0 +1 @@
+../morph-controller-helper.service \ No newline at end of file
diff --git a/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller.service b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller.service
new file mode 120000
index 00000000..9d92814b
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-controller.service
@@ -0,0 +1 @@
+../morph-controller.service \ No newline at end of file
diff --git a/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker-helper.service b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker-helper.service
new file mode 120000
index 00000000..298c582f
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker-helper.service
@@ -0,0 +1 @@
+../morph-worker-helper.service \ No newline at end of file
diff --git a/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker.service b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker.service
new file mode 120000
index 00000000..3f8d58a8
--- /dev/null
+++ b/distbuild/usr/lib/systemd/system/multi-user.target.wants/morph-worker.service
@@ -0,0 +1 @@
+../morph-worker.service \ No newline at end of file