diff options
Diffstat (limited to 'zookeeper-command-line-client')
-rw-r--r-- | zookeeper-command-line-client/CMakeLists.txt | 7 | ||||
-rw-r--r-- | zookeeper-command-line-client/OWNERS | 1 | ||||
-rw-r--r-- | zookeeper-command-line-client/README | 1 | ||||
-rw-r--r-- | zookeeper-command-line-client/pom.xml | 51 | ||||
-rw-r--r-- | zookeeper-command-line-client/src/main/resources/log4j-vespa.properties | 6 | ||||
-rwxr-xr-x | zookeeper-command-line-client/src/main/sh/vespa-zkcat | 77 | ||||
-rwxr-xr-x | zookeeper-command-line-client/src/main/sh/vespa-zkcli | 98 | ||||
-rwxr-xr-x | zookeeper-command-line-client/src/main/sh/vespa-zkctl | 78 | ||||
-rwxr-xr-x | zookeeper-command-line-client/src/main/sh/vespa-zkls | 77 |
9 files changed, 396 insertions, 0 deletions
diff --git a/zookeeper-command-line-client/CMakeLists.txt b/zookeeper-command-line-client/CMakeLists.txt new file mode 100644 index 00000000000..1dc4ade83b9 --- /dev/null +++ b/zookeeper-command-line-client/CMakeLists.txt @@ -0,0 +1,7 @@ +# Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +install_fat_java_artifact(zookeeper-command-line-client) + +vespa_install_script(src/main/sh/vespa-zkcat vespa-zkcat bin) +vespa_install_script(src/main/sh/vespa-zkcli vespa-zkcli bin) +vespa_install_script(src/main/sh/vespa-zkctl vespa-zkctl bin) +vespa_install_script(src/main/sh/vespa-zkls vespa-zkls bin) diff --git a/zookeeper-command-line-client/OWNERS b/zookeeper-command-line-client/OWNERS new file mode 100644 index 00000000000..338ed581212 --- /dev/null +++ b/zookeeper-command-line-client/OWNERS @@ -0,0 +1 @@ +hmusum diff --git a/zookeeper-command-line-client/README b/zookeeper-command-line-client/README new file mode 100644 index 00000000000..6b9577a0c4c --- /dev/null +++ b/zookeeper-command-line-client/README @@ -0,0 +1 @@ +Vespa ZooKeeper command line clients: vespa-zkcli, vespa-zkls, vespa-ckctl, vespa-zkcat diff --git a/zookeeper-command-line-client/pom.xml b/zookeeper-command-line-client/pom.xml new file mode 100644 index 00000000000..1633f14e6dc --- /dev/null +++ b/zookeeper-command-line-client/pom.xml @@ -0,0 +1,51 @@ +<?xml version="1.0"?> +<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.yahoo.vespa</groupId> + <artifactId>parent</artifactId> + <version>7-SNAPSHOT</version> + <relativePath>../parent/pom.xml</relativePath> + </parent> + <artifactId>zookeeper-command-line-client</artifactId> + <version>7-SNAPSHOT</version> + <dependencies> + <dependency> + <groupId>org.apache.zookeeper</groupId> + <artifactId>zookeeper</artifactId> + </dependency> + <dependency> + <!-- Needed by vespa-zkcli --> + <groupId>commons-cli</groupId> + <artifactId>commons-cli</artifactId> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <archive> + <manifest> + <mainClass>org.apache.zookeeper.ZooKeeperMain</mainClass> + </manifest> + </archive> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <!-- append to the packaging phase. --> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/zookeeper-command-line-client/src/main/resources/log4j-vespa.properties b/zookeeper-command-line-client/src/main/resources/log4j-vespa.properties new file mode 100644 index 00000000000..34a4b174335 --- /dev/null +++ b/zookeeper-command-line-client/src/main/resources/log4j-vespa.properties @@ -0,0 +1,6 @@ +log4j.rootLogger=WARN + +# CONSOLE is set to be a ConsoleAppender using a PatternLayout +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %m%n diff --git a/zookeeper-command-line-client/src/main/sh/vespa-zkcat b/zookeeper-command-line-client/src/main/sh/vespa-zkcat new file mode 100755 index 00000000000..e156fbb109e --- /dev/null +++ b/zookeeper-command-line-client/src/main/sh/vespa-zkcat @@ -0,0 +1,77 @@ +#!/bin/sh +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# BEGIN environment bootstrap section +# Do not edit between here and END as this section should stay identical in all scripts + +findpath () { + myname=${0} + mypath=${myname%/*} + myname=${myname##*/} + empty_if_start_slash=${mypath%%/*} + if [ "${empty_if_start_slash}" ]; then + mypath=$(pwd)/${mypath} + fi + if [ "$mypath" ] && [ -d "$mypath" ]; then + return + fi + mypath=$(pwd) + if [ -f "${mypath}/${myname}" ]; then + return + fi + echo "FATAL: Could not figure out the path where $myname lives from $0" + exit 1 +} + +COMMON_ENV=libexec/vespa/common-env.sh + +source_common_env () { + if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then + export VESPA_HOME + common_env=$VESPA_HOME/$COMMON_ENV + if [ -f "$common_env" ]; then + . $common_env + return + fi + fi + return 1 +} + +findroot () { + source_common_env && return + if [ "$VESPA_HOME" ]; then + echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" + exit 1 + fi + if [ "$ROOT" ] && [ -d "$ROOT" ]; then + VESPA_HOME="$ROOT" + source_common_env && return + fi + findpath + while [ "$mypath" ]; do + VESPA_HOME=${mypath} + source_common_env && return + mypath=${mypath%/*} + done + echo "FATAL: missing VESPA_HOME environment variable" + echo "Could not locate $COMMON_ENV anywhere" + exit 1 +} + +findhost () { + if [ "${VESPA_HOSTNAME}" = "" ]; then + VESPA_HOSTNAME=$(vespa-detect-hostname || hostname -f || hostname || echo "localhost") || exit 1 + fi + validate="${VESPA_HOME}/bin/vespa-validate-hostname" + if [ -f "$validate" ]; then + "$validate" "${VESPA_HOSTNAME}" || exit 1 + fi + export VESPA_HOSTNAME +} + +findroot +findhost + +# END environment bootstrap section + +$VESPA_HOME/bin/vespa-zkctl get $@ diff --git a/zookeeper-command-line-client/src/main/sh/vespa-zkcli b/zookeeper-command-line-client/src/main/sh/vespa-zkcli new file mode 100755 index 00000000000..5b23226dc5b --- /dev/null +++ b/zookeeper-command-line-client/src/main/sh/vespa-zkcli @@ -0,0 +1,98 @@ +#!/bin/sh +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# BEGIN environment bootstrap section +# Do not edit between here and END as this section should stay identical in all scripts + +findpath () { + myname=${0} + mypath=${myname%/*} + myname=${myname##*/} + empty_if_start_slash=${mypath%%/*} + if [ "${empty_if_start_slash}" ]; then + mypath=$(pwd)/${mypath} + fi + if [ "$mypath" ] && [ -d "$mypath" ]; then + return + fi + mypath=$(pwd) + if [ -f "${mypath}/${myname}" ]; then + return + fi + echo "FATAL: Could not figure out the path where $myname lives from $0" + exit 1 +} + +COMMON_ENV=libexec/vespa/common-env.sh + +source_common_env () { + if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then + export VESPA_HOME + common_env=$VESPA_HOME/$COMMON_ENV + if [ -f "$common_env" ]; then + . $common_env + return + fi + fi + return 1 +} + +findroot () { + source_common_env && return + if [ "$VESPA_HOME" ]; then + echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" + exit 1 + fi + if [ "$ROOT" ] && [ -d "$ROOT" ]; then + VESPA_HOME="$ROOT" + source_common_env && return + fi + findpath + while [ "$mypath" ]; do + VESPA_HOME=${mypath} + source_common_env && return + mypath=${mypath%/*} + done + echo "FATAL: missing VESPA_HOME environment variable" + echo "Could not locate $COMMON_ENV anywhere" + exit 1 +} + +findhost () { + if [ "${VESPA_HOSTNAME}" = "" ]; then + VESPA_HOSTNAME=$(vespa-detect-hostname || hostname -f || hostname || echo "localhost") || exit 1 + fi + validate="${VESPA_HOME}/bin/vespa-validate-hostname" + if [ -f "$validate" ]; then + "$validate" "${VESPA_HOSTNAME}" || exit 1 + fi + export VESPA_HOSTNAME +} + +findroot +findhost + +# END environment bootstrap section + +usage() { + echo "Run Zookeeper command-line client" + echo "The following options are recognized:" + echo "" + + echo "-h|-help) print this help text" + echo "-nosudo do not use sudo when running command" +} + +sudo="sudo -u ${VESPA_USER}" +while [ $# -gt 0 ]; do + case $1 in + -h|-help) usage; exit 0;; + -nosudo) shift; sudo="" ;; + *) echo "Unrecognized option '$1'" >&2; exit 1;; + esac +done + +$sudo java \ + -cp $VESPA_HOME/lib/jars/zookeeper-command-line-client-jar-with-dependencies.jar \ + -Dlog4j.configuration="log4j-vespa.properties" \ + org.apache.zookeeper.ZooKeeperMain "$@" diff --git a/zookeeper-command-line-client/src/main/sh/vespa-zkctl b/zookeeper-command-line-client/src/main/sh/vespa-zkctl new file mode 100755 index 00000000000..88165a1ed38 --- /dev/null +++ b/zookeeper-command-line-client/src/main/sh/vespa-zkctl @@ -0,0 +1,78 @@ +#!/bin/sh +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# BEGIN environment bootstrap section +# Do not edit between here and END as this section should stay identical in all scripts + +findpath () { + myname=${0} + mypath=${myname%/*} + myname=${myname##*/} + empty_if_start_slash=${mypath%%/*} + if [ "${empty_if_start_slash}" ]; then + mypath=$(pwd)/${mypath} + fi + if [ "$mypath" ] && [ -d "$mypath" ]; then + return + fi + mypath=$(pwd) + if [ -f "${mypath}/${myname}" ]; then + return + fi + echo "FATAL: Could not figure out the path where $myname lives from $0" + exit 1 +} + +COMMON_ENV=libexec/vespa/common-env.sh + +source_common_env () { + if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then + export VESPA_HOME + common_env=$VESPA_HOME/$COMMON_ENV + if [ -f "$common_env" ]; then + . $common_env + return + fi + fi + return 1 +} + +findroot () { + source_common_env && return + if [ "$VESPA_HOME" ]; then + echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" + exit 1 + fi + if [ "$ROOT" ] && [ -d "$ROOT" ]; then + VESPA_HOME="$ROOT" + source_common_env && return + fi + findpath + while [ "$mypath" ]; do + VESPA_HOME=${mypath} + source_common_env && return + mypath=${mypath%/*} + done + echo "FATAL: missing VESPA_HOME environment variable" + echo "Could not locate $COMMON_ENV anywhere" + exit 1 +} + +findhost () { + if [ "${VESPA_HOSTNAME}" = "" ]; then + VESPA_HOSTNAME=$(vespa-detect-hostname || hostname -f || hostname || echo "localhost") || exit 1 + fi + validate="${VESPA_HOME}/bin/vespa-validate-hostname" + if [ -f "$validate" ]; then + "$validate" "${VESPA_HOSTNAME}" || exit 1 + fi + export VESPA_HOSTNAME +} + +findroot +findhost + +# END environment bootstrap section + +# Get rid of the interactive zkcli prompt by running it in a subshell +(echo "$@" | $VESPA_HOME/bin/vespa-zkcli) diff --git a/zookeeper-command-line-client/src/main/sh/vespa-zkls b/zookeeper-command-line-client/src/main/sh/vespa-zkls new file mode 100755 index 00000000000..c290d2ff3ac --- /dev/null +++ b/zookeeper-command-line-client/src/main/sh/vespa-zkls @@ -0,0 +1,77 @@ +#!/bin/sh +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# BEGIN environment bootstrap section +# Do not edit between here and END as this section should stay identical in all scripts + +findpath () { + myname=${0} + mypath=${myname%/*} + myname=${myname##*/} + empty_if_start_slash=${mypath%%/*} + if [ "${empty_if_start_slash}" ]; then + mypath=$(pwd)/${mypath} + fi + if [ "$mypath" ] && [ -d "$mypath" ]; then + return + fi + mypath=$(pwd) + if [ -f "${mypath}/${myname}" ]; then + return + fi + echo "FATAL: Could not figure out the path where $myname lives from $0" + exit 1 +} + +COMMON_ENV=libexec/vespa/common-env.sh + +source_common_env () { + if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then + export VESPA_HOME + common_env=$VESPA_HOME/$COMMON_ENV + if [ -f "$common_env" ]; then + . $common_env + return + fi + fi + return 1 +} + +findroot () { + source_common_env && return + if [ "$VESPA_HOME" ]; then + echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" + exit 1 + fi + if [ "$ROOT" ] && [ -d "$ROOT" ]; then + VESPA_HOME="$ROOT" + source_common_env && return + fi + findpath + while [ "$mypath" ]; do + VESPA_HOME=${mypath} + source_common_env && return + mypath=${mypath%/*} + done + echo "FATAL: missing VESPA_HOME environment variable" + echo "Could not locate $COMMON_ENV anywhere" + exit 1 +} + +findhost () { + if [ "${VESPA_HOSTNAME}" = "" ]; then + VESPA_HOSTNAME=$(vespa-detect-hostname || hostname -f || hostname || echo "localhost") || exit 1 + fi + validate="${VESPA_HOME}/bin/vespa-validate-hostname" + if [ -f "$validate" ]; then + "$validate" "${VESPA_HOSTNAME}" || exit 1 + fi + export VESPA_HOSTNAME +} + +findroot +findhost + +# END environment bootstrap section + +$VESPA_HOME/bin/vespa-zkctl ls $@ |