summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Smith <mike.smith@codethink.co.uk>2014-12-18 13:31:06 +0000
committerMike Smith <mike.smith@codethink.co.uk>2014-12-18 13:31:06 +0000
commite8d8c125f845cbddf366050dc4b70cd44032d18c (patch)
treef279c18f23db73a3498cb80a21fc7d2d0566e0fe
parentf7dd00169f2482a4db7087008317589848afed32 (diff)
parentefbe0573ce48cfe860345a683e40c27debcb894b (diff)
downloaddefinitions-e8d8c125f845cbddf366050dc4b70cd44032d18c.tar.gz
Merge branch 'baserock/mikesmith/zookeeper-to-merge'
Reviewed by: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Sam Thursfield <sam.thursfield@codehink.co.uk>
-rw-r--r--clusters/zookeeper.morph21
-rw-r--r--strata/zookeeper-client.morph17
-rw-r--r--strata/zookeeper-server.morph11
-rw-r--r--strata/zookeeper.morph31
-rw-r--r--strata/zookeeper/java-ant.morph8
-rw-r--r--strata/zookeeper/java-binary.morph11
-rw-r--r--strata/zookeeper/zookeeper-client.morph17
-rw-r--r--strata/zookeeper/zookeeper-server.morph30
-rw-r--r--strata/zookeeper/zookeeper.morph14
-rw-r--r--systems/zookeeper-client-x86_64.morph23
-rw-r--r--systems/zookeeper-server-x86_64.morph23
11 files changed, 206 insertions, 0 deletions
diff --git a/clusters/zookeeper.morph b/clusters/zookeeper.morph
new file mode 100644
index 00000000..1153d4b0
--- /dev/null
+++ b/clusters/zookeeper.morph
@@ -0,0 +1,21 @@
+name: zookeeper
+kind: cluster
+systems:
+ - morph: systems/zookeeper-client-x86_64.morph
+ deploy:
+ my-client-system:
+ type: kvm
+ location: kvm+ssh://username@HOSTNAME/machinename/path/to/zookeeper-client.img
+ DISK_SIZE: 4G
+ RAM_SIZE: 1G
+ VCPUS: 1
+ HOSTNAME: zkclient
+ - morph: systems/zookeeper-server-x86_64.morph
+ deploy:
+ my-server-system:
+ type: kvm
+ location: kvm+ssh://username@HOSTNAME/machinename/path/to/zookeeper-server.img
+ DISK_SIZE: 4G
+ RAM_SIZE: 1G
+ VCPUS: 1
+ HOSTNAME: zkserver
diff --git a/strata/zookeeper-client.morph b/strata/zookeeper-client.morph
new file mode 100644
index 00000000..d4502ea1
--- /dev/null
+++ b/strata/zookeeper-client.morph
@@ -0,0 +1,17 @@
+name: zookeeper-client
+kind: stratum
+description: |
+ This stratum installs a small demonstration program for the
+ client side of ZooKeeper. The program can take up to two
+ arguments:
+ (1) The IP address of the ZooKeeper server to connect to
+ (2) The type of client that this will be (default client
+ types are typeOneNode & typeTwoNode)
+build-depends:
+- morph: strata/zookeeper.morph
+chunks:
+- name: zookeeper-client
+ morph: strata/zookeeper/zookeeper-client.morph
+ repo: baserock:tests/zookeeper-test
+ ref: master
+ build-depends: []
diff --git a/strata/zookeeper-server.morph b/strata/zookeeper-server.morph
new file mode 100644
index 00000000..6ad4269e
--- /dev/null
+++ b/strata/zookeeper-server.morph
@@ -0,0 +1,11 @@
+name: zookeeper-server
+kind: stratum
+description: This Stratum installs a zookeeper server and small program to populate it with default data.
+build-depends:
+- morph: strata/zookeeper.morph
+chunks:
+- name: zookeeper-server
+ morph: strata/zookeeper/zookeeper-server.morph
+ repo: baserock:tests/zookeeper-test
+ ref: master
+ build-depends: []
diff --git a/strata/zookeeper.morph b/strata/zookeeper.morph
new file mode 100644
index 00000000..3bcd5cca
--- /dev/null
+++ b/strata/zookeeper.morph
@@ -0,0 +1,31 @@
+name: zookeeper
+kind: stratum
+description: |
+ This stratum installs zookeeper and its dependencies.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: cppunit
+ repo: upstream:cppunit
+ ref: 77bb121d73c4593d6e3addacacb1bfbd21f53dcf
+ build-depends: []
+- name: java-binary
+ morph: strata/zookeeper/java-binary.morph
+ repo: github:franred/gerrit-installation-binaries
+ ref: ef262c635890f19eaff8ef6bbd831ee9b0d8693e
+ unpetrify-ref: master
+ build-depends: []
+- name: java-ant
+ morph: strata/zookeeper/java-ant.morph
+ repo: upstream:java/ant
+ ref: master
+ build-depends:
+ - cppunit
+ - java-binary
+- name: zookeeper
+ morph: strata/zookeeper/zookeeper.morph
+ repo: upstream:zookeeper
+ ref: baserock/mikesmith/zookeeper
+ unpetrify-ref: trunk
+ build-depends:
+ - java-ant
diff --git a/strata/zookeeper/java-ant.morph b/strata/zookeeper/java-ant.morph
new file mode 100644
index 00000000..37d402b0
--- /dev/null
+++ b/strata/zookeeper/java-ant.morph
@@ -0,0 +1,8 @@
+name: ant
+kind: chunk
+build-commands:
+- |
+ export JAVA_HOME=/usr/lib/jdk1.8.0_20
+ sh build.sh -Ddist.dir="$DESTDIR/usr/lib/ant" dist
+- mkdir -p "${DESTDIR}${PREFIX}/bin"
+- ln -sf "${PREFIX}/lib/ant/bin/ant" "${DESTDIR}${PREFIX}/bin/ant"
diff --git a/strata/zookeeper/java-binary.morph b/strata/zookeeper/java-binary.morph
new file mode 100644
index 00000000..a6c11f95
--- /dev/null
+++ b/strata/zookeeper/java-binary.morph
@@ -0,0 +1,11 @@
+name: java-binary
+kind: chunk
+configure-commands: []
+build-commands:
+- cat jdk-8u20-linux-x64.tar.gz_* > jdk-8u20-linux-x64.tar.gz
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/bin
+- mkdir -p "$DESTDIR$PREFIX"/lib
+- tar zxf jdk-8u20-linux-x64.tar.gz -C "$DESTDIR$PREFIX"/lib
+- unzip jce_policy-8.zip -d "$DESTDIR$PREFIX"/lib/jdk1.8.0_20/jre/lib/security
+- ln -sfn "$PREFIX"/lib/jdk1.8.0_20/jre/bin/java "$DESTDIR$PREFIX"/bin/
diff --git a/strata/zookeeper/zookeeper-client.morph b/strata/zookeeper/zookeeper-client.morph
new file mode 100644
index 00000000..591c1840
--- /dev/null
+++ b/strata/zookeeper/zookeeper-client.morph
@@ -0,0 +1,17 @@
+name: zookeeper-client
+kind: chunk
+build-commands:
+ - mkdir -p "$DESTDIR$PREFIX"/zookeeper-client
+ - cp -r * "$DESTDIR$PREFIX"/zookeeper-client
+ - make -C "$DESTDIR$PREFIX"/zookeeper-client/ZKTest/Release/
+post-install-commands:
+ - |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-client.service
+ [unit]
+ Description=Zookeeper client init
+ [Service]
+ ExecStart=/usr/zookeeper-client/ZKTest/Release/ZKTest nodeTypeOne 10.24.1.198
+ RemainAfterExit=yes
+ [Install]
+ WantedBy=multi-user.target
+ EOF
diff --git a/strata/zookeeper/zookeeper-server.morph b/strata/zookeeper/zookeeper-server.morph
new file mode 100644
index 00000000..082c063c
--- /dev/null
+++ b/strata/zookeeper/zookeeper-server.morph
@@ -0,0 +1,30 @@
+name: zookeeper-server
+kind: chunk
+build-commands:
+ - mkdir -p "$DESTDIR$PREFIX"/zookeeper_server
+ - cp -r * "$DESTDIR$PREFIX"/zookeeper_server
+ - make -C "$DESTDIR$PREFIX"/zookeeper_server/zkServerFileSetup/Release/
+post-install-commands:
+ - |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-server.service
+ [unit]
+ Description=Zookeeper server
+ [Service]
+ ExecStart=/usr/zookeeper/bin/zkServer.sh start
+ RemainAfterExit=yes
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+ - |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-init.service
+ [unit]
+ Description=Zookeeper server init
+ [Service]
+ ExecStart=/usr/zookeeper_server/zkServerFileSetup/Release/zkServerFileSetup
+ RemainAfterExit=no
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+ - mkdir "$DESTDIR"/etc/systemd/system/multi-user.target.wants
+ - ln -s "$DESTDIR"/etc/systemd/system/zookeeper-server.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/zookeeper-server.service
+ - ln -s "$DESTDIR"/etc/systemd/system/zookeeper-init.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/zookeeper-init.service
diff --git a/strata/zookeeper/zookeeper.morph b/strata/zookeeper/zookeeper.morph
new file mode 100644
index 00000000..dbe6ccbb
--- /dev/null
+++ b/strata/zookeeper/zookeeper.morph
@@ -0,0 +1,14 @@
+name: zookeeper
+kind: chunk
+configure-commands:
+ - mkdir -p "$DESTDIR$PREFIX"/lib/zookeeper
+build-commands:
+ - ant -p compile_jute
+ - mkdir -p "$DESTDIR$PREFIX"/zookeeper
+ - cp -r * "$DESTDIR$PREFIX"/zookeeper
+ - cd "$DESTDIR$PREFIX"/zookeeper/src/c && autoreconf -i
+ - cd "$DESTDIR$PREFIX"/zookeeper/src/c && ./configure --prefix="$PREFIX" --libdir="$PREFIX"/lib/
+ - make -C "$DESTDIR$PREFIX"/zookeeper/src/c
+ - cd "$DESTDIR$PREFIX"/zookeeper/src/c && make install
+ - mv "$DESTDIR$PREFIX"/zookeeper/conf/zoo_sample.cfg "$DESTDIR$PREFIX"/zookeeper/conf/zoo.cfg
+ - make -C "$DESTDIR$PREFIX"/zookeeper/src/c zktest-mt
diff --git a/systems/zookeeper-client-x86_64.morph b/systems/zookeeper-client-x86_64.morph
new file mode 100644
index 00000000..c8ac7784
--- /dev/null
+++ b/systems/zookeeper-client-x86_64.morph
@@ -0,0 +1,23 @@
+name: zookeeper-client-x86_64
+kind: system
+description: |
+ A system that is able to build other systems based on the 64-bit x86
+ architecture. includes the installation of zookeeper and a test client.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: zookeeper-client
+ morph: strata/zookeeper-client.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/zookeeper-server-x86_64.morph b/systems/zookeeper-server-x86_64.morph
new file mode 100644
index 00000000..ad022a91
--- /dev/null
+++ b/systems/zookeeper-server-x86_64.morph
@@ -0,0 +1,23 @@
+name: zookeeper-server-X86_64
+kind: system
+description: |
+ A system that is able to build other systems based on the 64-bit x86
+ architecture. includes the zookeeper server and setup for basic tests
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: zookeeper-server
+ morph: strata/zookeeper-server.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files