You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2011/06/05 10:23:08 UTC
svn commit: r1132007 - in /incubator/mesos/trunk: bin/ src/
src/configurator/ src/deploy/
Author: benh
Date: Sun Jun 5 08:23:08 2011
New Revision: 1132007
URL: http://svn.apache.org/viewvc?rev=1132007&view=rev
Log:
Fixed deploy scripts to work with new directory structure, made a few
improvements to them (e.g. only looking at /proc/cpuinfo and so on on
Linux), and removed an extra log statement in configurator.cpp
Added:
incubator/mesos/trunk/src/deploy/
incubator/mesos/trunk/src/deploy/deploy-to-slaves
- copied, changed from r1132006, incubator/mesos/trunk/bin/deploy-to-slaves
incubator/mesos/trunk/src/deploy/mesos-daemon (with props)
incubator/mesos/trunk/src/deploy/mesos-env.sh (with props)
incubator/mesos/trunk/src/deploy/start-master (with props)
incubator/mesos/trunk/src/deploy/start-mesos (with props)
incubator/mesos/trunk/src/deploy/start-slaves (with props)
incubator/mesos/trunk/src/deploy/stop-master (with props)
incubator/mesos/trunk/src/deploy/stop-mesos (with props)
incubator/mesos/trunk/src/deploy/stop-slaves (with props)
Removed:
incubator/mesos/trunk/bin/deploy-to-slaves
incubator/mesos/trunk/bin/mesos-daemon
incubator/mesos/trunk/bin/mesos_env.sh
incubator/mesos/trunk/bin/start-master
incubator/mesos/trunk/bin/start-mesos
incubator/mesos/trunk/bin/start-slaves
incubator/mesos/trunk/bin/stop-master
incubator/mesos/trunk/bin/stop-mesos
incubator/mesos/trunk/bin/stop-slaves
Modified:
incubator/mesos/trunk/src/Makefile.in
incubator/mesos/trunk/src/configurator/configurator.cpp
Modified: incubator/mesos/trunk/src/Makefile.in
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/Makefile.in?rev=1132007&r1=1132006&r2=1132007&view=diff
==============================================================================
--- incubator/mesos/trunk/src/Makefile.in (original)
+++ incubator/mesos/trunk/src/Makefile.in Sun Jun 5 08:23:08 2011
@@ -5,6 +5,7 @@ SHELL = '/bin/sh'
BINDIR = @top_builddir@/bin
LIBDIR = @top_builddir@/lib
CONFDIR = @top_builddir@/conf
+DEPLOYDIR = @top_builddir@/deploy
CC = @CC@
CXX = @CXX@
@@ -202,6 +203,17 @@ WEBUI_FILES = $(BINDIR)/webui/bottle-0.5
# We copy template config files into the conf directory.
CONF_FILES = $(CONFDIR)/mesos.conf
+# We copy all the deploy scripts into the bin directory.
+DEPLOY_FILES = $(DEPLOYDIR)/deploy-to-slaves \
+ $(DEPLOYDIR)/mesos-daemon \
+ $(DEPLOYDIR)/mesos-env.sh \
+ $(DEPLOYDIR)/start-master \
+ $(DEPLOYDIR)/start-mesos \
+ $(DEPLOYDIR)/start-slaves \
+ $(DEPLOYDIR)/stop-master \
+ $(DEPLOYDIR)/stop-mesos \
+ $(DEPLOYDIR)/stop-slaves \
+
# Create rules for building the directories that aren't created
# automagically by configure.
OBJ_DIRECTORIES = common configurator detector exec launcher local \
@@ -213,7 +225,8 @@ WEBUI_DIRECTORIES = $(BINDIR)/webui/comm
$(BINDIR)/webui/slave/swig
DIRECTORIES = $(BINDIR) $(LIBDIR) $(LIBDIR)/java $(LIBDIR)/python \
- $(OBJ_DIRECTORIES) $(WEBUI_DIRECTORIES) $(CONFDIR)
+ $(OBJ_DIRECTORIES) $(WEBUI_DIRECTORIES) $(CONFDIR) \
+ $(DEPLOYDIR)
default: all
@@ -317,13 +330,18 @@ ifeq ($(WITH_WEBUI),1)
cp -r $< $@
endif
+$(DEPLOY_FILES): | $(DEPLOYDIR)
+
+$(DEPLOY_FILES): $(DEPLOYDIR)/%: @srcdir@/deploy/%
+ cp -r $< $@
+
$(CONFDIR)/mesos.conf: @srcdir@/conf/mesos.conf.template | $(CONFDIR)
cp -r $^ $@
test: all
$(MAKE) -C tests test
-all: $(MESOS_LIBS) $(MESOS_EXES) java python $(WEBUI_FILES) $(CONF_FILES)
+all: $(MESOS_LIBS) $(MESOS_EXES) java python $(WEBUI_FILES) $(CONF_FILES) $(DEPLOY_FILES)
$(MAKE) -C examples
$(MAKE) -C tests
Modified: incubator/mesos/trunk/src/configurator/configurator.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/configurator/configurator.cpp?rev=1132007&r1=1132006&r2=1132007&view=diff
==============================================================================
--- incubator/mesos/trunk/src/configurator/configurator.cpp (original)
+++ incubator/mesos/trunk/src/configurator/configurator.cpp Sun Jun 5 08:23:08 2011
@@ -227,7 +227,6 @@ void Configurator::loadCommandLine(int a
void Configurator::loadConfigFile(const string& fname, bool overwrite)
{
- LOG(INFO) << "Loading config file: " << fname;
ifstream cfg(fname.c_str(), std::ios::in);
if (!cfg.is_open()) {
string message = "Couldn't read Mesos config file: " + fname;
Copied: incubator/mesos/trunk/src/deploy/deploy-to-slaves (from r1132006, incubator/mesos/trunk/bin/deploy-to-slaves)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/deploy-to-slaves?p2=incubator/mesos/trunk/src/deploy/deploy-to-slaves&p1=incubator/mesos/trunk/bin/deploy-to-slaves&r1=1132006&r2=1132007&rev=1132007&view=diff
==============================================================================
--- incubator/mesos/trunk/bin/deploy-to-slaves (original)
+++ incubator/mesos/trunk/src/deploy/deploy-to-slaves Sun Jun 5 08:23:08 2011
@@ -1,9 +1,9 @@
#! /usr/bin/env bash
-bin=`dirname "$0"`
-bin=`cd "$bin"; pwd`
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
-. $bin/mesos_env.sh
+. $DEPLOY_DIR/mesos-env.sh
echo "RSYNC'ing $MESOS_ROOT to slaves..."
for slave in $SLAVES; do
Added: incubator/mesos/trunk/src/deploy/mesos-daemon
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/mesos-daemon?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/mesos-daemon (added)
+++ incubator/mesos/trunk/src/deploy/mesos-daemon Sun Jun 5 08:23:08 2011
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+. $DEPLOY_DIR/mesos-env.sh
+
+ulimit -n 8192
+
+PROGRAM=$1
+shift
+
+EXTRA_OPTS=""
+if [ "$PROGRAM" == "mesos-slave" ]; then
+ # Compute CPU and memory resources on this machine (TODO: Linux-specific)
+ if [ `uname` == "Linux" ]; then
+ CPUS=`grep processor /proc/cpuinfo | wc -l`
+ MEM_KB=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
+ MEM=$[(MEM_KB - 1024 * 1024) / 1024] # Leaves 1 GB free
+ EXTRA_OPTS="--cpus=$CPUS --mem=$MEM"
+ fi
+fi
+
+
+if [ ! -d $MESOS_LOGS ]; then
+ mkdir -p $MESOS_LOGS
+fi
+
+cd $MESOS_HOME
+echo "now in dir `pwd`"
+nohup ./bin/$PROGRAM $EXTRA_OPTS $@ </dev/null >$MESOS_LOGS/$PROGRAM.out 2>&1 &
Propchange: incubator/mesos/trunk/src/deploy/mesos-daemon
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/mesos-env.sh
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/mesos-env.sh?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/mesos-env.sh (added)
+++ incubator/mesos/trunk/src/deploy/mesos-env.sh Sun Jun 5 08:23:08 2011
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+echo DEPLOY_DIR is $DEPLOY_DIR
+
+#files that list master(s) and slaves
+MASTER=`cat $DEPLOY_DIR/master`
+SLAVES=`cat $DEPLOY_DIR/slaves`
+
+#The dir where Mesos deployment scripts live
+MESOS_HOME=`cd "$DEPLOY_DIR/.."; pwd`
+echo "MESOS_HOME is $MESOS_HOME"
+
+MESOS_LOGS=$MESOS_HOME/logs
+
+#options for ssh'ing
+SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=2"
+
+#LIBPROCESS_IP="hostname -i" #works on older versions of hostname, not on osx
+#FULL_IP="hostname --all-ip-addresses" # newer versions of hostname only
+#export LIBPROCESS_IP=`echo $FULL_IP|sed 's/\([^ ]*\) .*/\1/'`
Propchange: incubator/mesos/trunk/src/deploy/mesos-env.sh
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/start-master
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/start-master?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/start-master (added)
+++ incubator/mesos/trunk/src/deploy/start-master Sun Jun 5 08:23:08 2011
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+. $DEPLOY_DIR/mesos-env.sh
+
+cd $DEPLOY_DIR
+
+#Launch master
+echo "Starting master on $MASTER"
+echo ssh $SSH_OPTS $MASTER "$DEPLOY_DIR/mesos-daemon mesos-master </dev/null >/dev/null"
+ssh $SSH_OPTS $MASTER "$DEPLOY_DIR/mesos-daemon mesos-master </dev/null >/dev/null"
Propchange: incubator/mesos/trunk/src/deploy/start-master
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/start-mesos
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/start-mesos?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/start-mesos (added)
+++ incubator/mesos/trunk/src/deploy/start-mesos Sun Jun 5 08:23:08 2011
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+. $DEPLOY_DIR/mesos-env.sh
+
+$DEPLOY_DIR/start-master
+
+$DEPLOY_DIR/start-slaves
+
+echo "Everything's started! You should be able to view the master Web UI"
+
Propchange: incubator/mesos/trunk/src/deploy/start-mesos
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/start-slaves
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/start-slaves?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/start-slaves (added)
+++ incubator/mesos/trunk/src/deploy/start-slaves Sun Jun 5 08:23:08 2011
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+. $DEPLOY_DIR/mesos-env.sh
+
+cd $DEPLOY_DIR
+
+#PORT=`../src/get_conf port $@`;
+#Launch slaves
+for slave in $SLAVES; do
+ echo "Starting slave on $slave"
+ echo ssh $SSH_OPTS $slave "$DEPLOY_DIR/mesos-daemon mesos-slave -u 1@$MASTER:5050 </dev/null >/dev/null"
+ ssh $SSH_OPTS $slave "$DEPLOY_DIR/mesos-daemon mesos-slave -u 1@$MASTER:5050 </dev/null >/dev/null" &
+ sleep 0.1
+done
+wait
Propchange: incubator/mesos/trunk/src/deploy/start-slaves
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/stop-master
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/stop-master?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/stop-master (added)
+++ incubator/mesos/trunk/src/deploy/stop-master Sun Jun 5 08:23:08 2011
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+. $DEPLOY_DIR/mesos-env.sh
+
+cd $DEPLOY_DIR
+
+echo "Stopping master on $MASTER"
+ssh $SSH_OPTS $MASTER "killall mesos-master"
Propchange: incubator/mesos/trunk/src/deploy/stop-master
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/stop-mesos
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/stop-mesos?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/stop-mesos (added)
+++ incubator/mesos/trunk/src/deploy/stop-mesos Sun Jun 5 08:23:08 2011
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+. $DEPLOY_DIR/mesos-env.sh
+
+cd $DEPLOY_DIR
+
+./stop-slaves
+
+./stop-master
Propchange: incubator/mesos/trunk/src/deploy/stop-mesos
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/mesos/trunk/src/deploy/stop-slaves
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/deploy/stop-slaves?rev=1132007&view=auto
==============================================================================
--- incubator/mesos/trunk/src/deploy/stop-slaves (added)
+++ incubator/mesos/trunk/src/deploy/stop-slaves Sun Jun 5 08:23:08 2011
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+DEPLOY_DIR=`dirname "$0"`
+DEPLOY_DIR=`cd "$DEPLOY_DIR"; pwd`
+
+. $DEPLOY_DIR/mesos-env.sh
+
+cd $DEPLOY_DIR
+
+for slave in $SLAVES; do
+ echo "Stopping slave on $slave"
+ ssh $SSH_OPTS $slave "killall mesos-slave" &
+ sleep 0.1
+done
+wait
Propchange: incubator/mesos/trunk/src/deploy/stop-slaves
------------------------------------------------------------------------------
svn:executable = *