From 25041b86249fe763fd4171e2ab1aca535b3eb14f Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Mon, 11 Apr 2016 17:57:57 +0100 Subject: Add a simple templating system to Baserock definitions This is currently independent of the actual definitions format. The 'configure' tool generates actual .morph files from .morph.in files, and build tools then operate on these generated .morph files.t This is largely untested and no doubt broken! --- clusters/trove-example.morph.in | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 clusters/trove-example.morph.in (limited to 'clusters/trove-example.morph.in') diff --git a/clusters/trove-example.morph.in b/clusters/trove-example.morph.in new file mode 100644 index 00000000..fae234de --- /dev/null +++ b/clusters/trove-example.morph.in @@ -0,0 +1,58 @@ +name: trove-example +kind: cluster +description: | + This is an example cluster morphology for deploying a Trove, + both the initial deployment and an upgrade. + + You need some ssh keys, which you can create like this: + + mkdir ssh_keys + ssh-keygen -N '' -f ssh_keys/lorry.key + ssh-keygen -N '' -f ssh_keys/worker.key + ssh-keygen -N '' -f ssh_keys/trove-admin.key + + You may also put in your own keys instead of creating new ones. + + To do the initial deployment: + + morph deploy clusters/trove-example.morph \ + initial \ + initial.location=kvm+ssh://liw@192.168.122.1/test-trove/tmp/test-trove.img + + To do an upgrade: + + morph deploy clusters/trove-example.morph \ + upgrade upgrade.VERSION_LABEL=123 + + where `VERSION_LABEL` gets a new unique value each time. + + Remember to always specify either initial or upgrade as the + deployment name to use, otherwise morph will attempt to deploy both. + + You can find documentation for Trove at the following web address: + http://wiki.baserock.org/Trove/ +systems: +- morph: systems/trove-system.{{CONFIG}}.morph + deploy-defaults: + HOSTNAME: test-trove + VCPUS: 2 + RAM_SIZE: 2G + DISK_SIZE: 8G + LORRY_SSH_KEY: ssh_keys/lorry.key + WORKER_SSH_PUBKEY: ssh_keys/worker.key.pub + TROVE_ADMIN_EMAIL: adminuser@example.com + TROVE_ADMIN_NAME: Nobody + TROVE_ADMIN_SSH_PUBKEY: ssh_keys/trove-admin.key.pub + TROVE_ADMIN_USER: adminuser + TROVE_COMPANY: Company name goes here + TROVE_HOST: test-trove + TROVE_ID: test-trove + UPSTREAM_TROVE: '' + deploy: + initial: + type: extensions/kvm + location: kvm+ssh://vm-user@vm-host/test-trove/vm-path/test-trove.img + VERSION_LABEL: 1 + upgrade: + type: extensions/ssh-rsync + location: test-trove -- cgit v1.2.1