From 17b5b19be2db62466a897d93bd33e270d73e4631 Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Fri, 6 Dec 2013 13:08:59 +0100 Subject: [PATCH] Add new shell script for cluster management. --- utils/Makefile.files | 13 +++++++++- utils/arangom.in | 56 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100755 utils/arangom.in diff --git a/utils/Makefile.files b/utils/Makefile.files index 6eb7adeae8..a88ae28631 100644 --- a/utils/Makefile.files +++ b/utils/Makefile.files @@ -10,7 +10,8 @@ bin_SCRIPTS += \ bin/arango-dfdb \ - bin/foxx-manager + bin/foxx-manager \ + bin/arangom CLEANUP += $(bin_SCRIPTS) @@ -36,6 +37,16 @@ bin/foxx-manager: utils/foxx-manager.in $< > $@ chmod 755 $@ +################################################################################ +### @brief arangodb cluster manager +################################################################################ + +bin/arangom: utils/arangom.in + sed \ + -e 's%@BINDIR@%${TRI_BINDIR}%g' \ + $< > $@ + chmod 755 $@ + ## ----------------------------------------------------------------------------- ## --SECTION-- END-OF-FILE ## ----------------------------------------------------------------------------- diff --git a/utils/arangom.in b/utils/arangom.in new file mode 100755 index 0000000000..bc86d8eca7 --- /dev/null +++ b/utils/arangom.in @@ -0,0 +1,56 @@ +#!/bin/bash + +CURL="curl -s" + +AGENCY="http://localhost:4001" +PREFIX="" + +if [ "$1" == "-a" ] ; then + export AGENCY=$2 + shift 2 +fi + +if [ "$1" == "-p" ] ; then + export PREFIX=$2 + shift 2 +fi + +if [ "$1" == "help" -o "$1" == "-h" -o "$1" == "--help" ] ; then + echo Usage: "arangom [-a AGENCY] [-p PREFIX] help|init" + exit 0 +fi + +URL=$AGENCY/v2/keys$PREFIX + +function set() { + key=$1 + value=$2 + if [ "x$value" == "x" ] ; then + echo Creating directory $key + $CURL -X PUT $URL$key > /dev/null + else + echo Setting key $key to value $value + $CURL -X PUT $URL$key -d value=$value > /dev/null + fi +} + + +if [ "$1" == "init" ] ; then + $CURL -X DELETE "$URL/?recursive=true" >/dev/null + set /Config/MapLocalToID + set /Config/MapIDToEndpoint + set /TmpConfig/DBServers + set /TmpConfig/Coordinators + set /TmpConfig/Databases + set /TmpConfig/Collections + set /TmpConfig/ShardsCurrent + set /TmpConfig/ShardsWanted + set /State/ServersRegistered + set /State/DBServerStates + set /State/ClusterState OFFLINE + set /State/OldClusterState none + set /State/ClusterProblem none + set /State/ClusterManager none + echo Initialisation complete. +fi +