]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-menv: mrun shell environment 22132/head
authorYehuda Sadeh <yehuda@redhat.com>
Mon, 21 May 2018 20:46:25 +0000 (13:46 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Mon, 21 May 2018 20:51:16 +0000 (13:51 -0700)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
ceph-menv/.menvrc [new file with mode: 0644]
ceph-menv/INSTALL [new file with mode: 0644]
ceph-menv/README [new file with mode: 0644]
ceph-menv/build_links.sh [new file with mode: 0755]
ceph-menv/mdo.sh [new file with mode: 0755]
ceph-menv/mset.sh [new file with mode: 0755]

diff --git a/ceph-menv/.menvrc b/ceph-menv/.menvrc
new file mode 100644 (file)
index 0000000..38f7432
--- /dev/null
@@ -0,0 +1,16 @@
+MENV_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+export PATH=${MENV_ROOT}/bin:$PATH
+alias mset='source $MENV_ROOT/mset.sh'
+
+case "$TERM" in
+xterm-*color)
+    PS1='\[\033[$MRUN_PROMPT_COLOR;1m\]${MRUN_PROMPT}\[\033[00m\]'${PS1}
+    ;;
+*)
+    PS1='${MRUN_PROMPT}'${PS1}
+    ;;
+esac
+
+export MRUN_CEPH_ROOT=$HOME/ceph
+
diff --git a/ceph-menv/INSTALL b/ceph-menv/INSTALL
new file mode 100644 (file)
index 0000000..8a9d85b
--- /dev/null
@@ -0,0 +1,19 @@
+ceph-menv
+
+Installation
+
+1. Build links
+
+# assuming ceph build directory is at $HOME/ceph/build
+$ cd ceph-menv
+$ ./build_links.sh
+
+A different ceph repository can be passed as the first argument to build_links.sh.
+
+2. Configure shell environment
+
+To your shell startup script (such as $HOME/.bashrc) add the following:
+
+source ~/ceph-menv/.menvrc
+
+(modify line appropriately if ceph-menv was installed at a different location)
diff --git a/ceph-menv/README b/ceph-menv/README
new file mode 100644 (file)
index 0000000..badbd3a
--- /dev/null
@@ -0,0 +1,21 @@
+ceph-menv
+
+Environment assistant for use in conjuction with multiple ceph vstart (or more accurately mstart) clusters. Eliminates the need to specify the cluster that is being used with each and every command. Can provide a shell prompt feedback about the currently used cluster.
+
+
+Usage:
+
+$ mset <cluster>
+
+
+For example:
+
+$ mstart.sh c1 -n
+$ mset c1
+[ c1 ] $ ceph -w
+
+
+To un-set cluster:
+
+$ mset
+
diff --git a/ceph-menv/build_links.sh b/ceph-menv/build_links.sh
new file mode 100755 (executable)
index 0000000..c4c9da3
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+DIR=`dirname $0`
+ROOT=$1
+
+[ "$ROOT" == "" ] && ROOT="$HOME/ceph"
+
+mkdir -p $DIR/bin
+
+echo $PWD
+for f in `ls $ROOT/build/bin`; do
+        echo $f
+        ln -sf ../mdo.sh $DIR/bin/$f
+done
+
+echo "MRUN_CEPH_ROOT=$ROOT" > $DIR/.menvroot
diff --git a/ceph-menv/mdo.sh b/ceph-menv/mdo.sh
new file mode 100755 (executable)
index 0000000..443613e
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+cmd=`basename $0`
+MENV_ROOT=`dirname $0`/..
+
+if [ -f $MENV_ROOT/.menvroot ]; then
+    . $MENV_ROOT/.menvroot
+fi
+
+[ "$MRUN_CEPH_ROOT" == "" ] && MRUN_CEPH_ROOT=$HOME/ceph
+
+if [ "$MRUN_CLUSTER" == "" ]; then
+    ${MRUN_CEPH_ROOT}/build/bin/$cmd "$@"
+    exit $?
+fi
+
+${MRUN_CEPH_ROOT}/src/mrun $MRUN_CLUSTER $cmd "$@"
diff --git a/ceph-menv/mset.sh b/ceph-menv/mset.sh
new file mode 100755 (executable)
index 0000000..b9cb5b4
--- /dev/null
@@ -0,0 +1,21 @@
+get_color() {
+        s=$1
+        sum=1   # just so that 'c1' isn't green that doesn't contrast with the rest of my prompt
+        for i in `seq 1 ${#s}`; do
+                c=${s:$((i-1)):1};
+                o=`printf '%d' "'$c"`
+                sum=$((sum+$o))
+        done
+        echo $sum
+}
+
+if [ "$1" == "" ]; then
+        unset MRUN_CLUSTER
+        unset MRUN_PROMPT
+else
+        export MRUN_CLUSTER=$1
+        export MRUN_PROMPT='['${MRUN_CLUSTER}'] '
+        col=$(get_color $1)
+        MRUN_PROMPT_COLOR=$((col%7+31))
+fi
+