summaryrefslogtreecommitdiff
path: root/mason.morph
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2014-08-05 14:52:57 +0000
committerMichael Drake <michael.drake@codethink.co.uk>2014-08-06 15:28:09 +0000
commit8867889800efcb321d0061893fe6092f8932c4d3 (patch)
treebf31499d6093dccbc8088a0d9446d60822638d80 /mason.morph
parent06826f22ab72e31964b93055679acfd714879123 (diff)
downloaddefinitions-8867889800efcb321d0061893fe6092f8932c4d3.tar.gz
Add Mason scripts on top of distbuild system
The distbuild system can be configured to act as a CI controller. Providing appropriate config makes it copy all the scripts and systemd units out of the mason directory onto the target, such that it will start building and testing the configured cluster morphology on boot.
Diffstat (limited to 'mason.morph')
-rw-r--r--mason.morph58
1 files changed, 58 insertions, 0 deletions
diff --git a/mason.morph b/mason.morph
new file mode 100644
index 00000000..d6052146
--- /dev/null
+++ b/mason.morph
@@ -0,0 +1,58 @@
+name: example-mason-cluster
+kind: cluster
+description: |
+ This is a template cluster morphology that can be adapted to set up a
+ Mason. Masons are composed of a trove and a distbuild system.
+
+ It is suggested that you use mason/mason-generator.sh to adapt this
+ template to suit your needs. It also handles the generation of
+ keys to let the systems communicate.
+systems:
+- morph: trove-system-x86_64
+ deploy:
+ red-box-v1-trove:
+ type: kvm
+ location: kvm+ssh://vm-user@vm-host/red-box-v1-trove/vm-path/red-box-v1-trove.img
+ VERSION_LABEL: 45
+ DISK_SIZE: 100G
+ RAM_SIZE: 8G
+ VCPUS: 2
+ HOSTNAME: red-box-v1-trove
+ TROVE_ID: red-box-v1-trove
+ TROVE_HOST: red-box-v1
+ TROVE_COMPANY: Company name goes here
+ LORRY_SSH_KEY: ssh_keys/lorry.key
+ UPSTREAM_TROVE: upstream-trove
+ UPSTREAM_TROVE_PROTOCOL: http
+ TROVE_ADMIN_USER: adminuser
+ TROVE_ADMIN_EMAIL: adminuser@example.com
+ TROVE_ADMIN_NAME: Nobody
+ TROVE_ADMIN_SSH_PUBKEY: ssh_keys/id_rsa.pub
+ WORKER_SSH_PUBKEY: ssh_keys/worker.key.pub
+ MASON_SSH_PUBKEY: ssh_keys/mason.key.pub
+ AUTOSTART: yes
+- morph: distbuild-system-x86_64
+ deploy-defaults:
+ TROVE_ID: red-box-v1-trove
+ TROVE_HOST: red-box-v1-trove.example.com
+ CONTROLLERHOST: red-box-v1-controller
+ DISTBUILD_CONTROLLER: no
+ DISTBUILD_WORKER: yes
+ VCPUS: 2
+ RAM_SIZE: 8G
+ #FSTAB_SRC: LABEL=src /srv/distbuild auto defaults,rw,noatime 0 2
+ INSTALL_FILES: distbuild/manifest
+ WORKER_SSH_KEY: ssh_keys/worker.key
+ deploy:
+ red-box-v1-controller:
+ type: kvm
+ location: kvm+ssh://vm-user@vm-host/red-box-v1-controller/vm-path/red-box-v1-controller.img
+ DISK_SIZE: 60G
+ DISTBUILD_CONTROLLER: yes
+ HOSTNAME: red-box-v1-controller
+ WORKERS: red-box-v1-controller
+ MASON_CLUSTER_MORPHOLOGY: ci.morph
+ MASON_DEFINITIONS_REF: master
+ MASON_DISTBUILD_ARCH: x86_64
+ MASON_UPSTREAM_TROVE_ADDRESS: upstream-trove
+ MASON_TEST_HOST: vm-user@vm-host:/vm-path/