Commit b43cd46a authored by Robert Ricci's avatar Robert Ricci

Support for a unified boss and ops node. Mainly, there are several

links that do not need to get created in the ops install target.

sshtb also checks for unified control nodes, and if the destination
host is one of them, just runs the command, rather than invoking it
remotely via ssh.
parent 081f1c4e
...@@ -5,6 +5,7 @@ SRCDIR = @srcdir@ ...@@ -5,6 +5,7 @@ SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@ TESTBED_SRCDIR = @top_srcdir@
OBJDIR = .. OBJDIR = ..
SUBDIR = db SUBDIR = db
UNIFIED = @UNIFIED_BOSS_AND_OPS@
include $(OBJDIR)/Makeconf include $(OBJDIR)/Makeconf
...@@ -39,11 +40,13 @@ post-install: ...@@ -39,11 +40,13 @@ post-install:
# #
# Control node installation (okay, plastic) # Control node installation (okay, plastic)
# #
control-install: $(addprefix $(INSTALL_SBINDIR)/, $(USERSBINS)) ifneq ($(UNIFIED),1)
cd $(INSTALL_BINDIR) && \ LINKS= cd $(INSTALL_BINDIR) && \
list='$(USERBINS)'; for file in $$list; do \ list='$(USERBINS)'; for file in $$list; do \
rm -f $$file; \ rm -f $$file; \
ln -s plasticwrap $$file; \ ln -s plasticwrap $$file; \
done; done;
endif
control-install: $(addprefix $(INSTALL_SBINDIR)/, $(USERSBINS))
$(LINKS)
clean: clean:
...@@ -5,6 +5,7 @@ SRCDIR = @srcdir@ ...@@ -5,6 +5,7 @@ SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@ TESTBED_SRCDIR = @top_srcdir@
OBJDIR = .. OBJDIR = ..
SUBDIR = tbsetup SUBDIR = tbsetup
UNIFIED = @UNIFIED_BOSS_AND_OPS@
include $(OBJDIR)/Makeconf include $(OBJDIR)/Makeconf
...@@ -115,14 +116,17 @@ post-install: ...@@ -115,14 +116,17 @@ post-install:
# #
# Control node installation (okay, plastic) # Control node installation (okay, plastic)
# #
control-install: $(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \ ifneq ($(UNIFIED),1)
$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy) \ LINKS= cd $(INSTALL_BINDIR) && \
$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)
cd $(INSTALL_BINDIR) && \
list='$(USERBINS)'; for file in $$list; do \ list='$(USERBINS)'; for file in $$list; do \
rm -f $$file; \ rm -f $$file; \
ln -s plasticwrap $$file; \ ln -s plasticwrap $$file; \
done; done;
endif
control-install: $(addprefix $(INSTALL_SBINDIR)/, console_setup.proxy) \
$(addprefix $(INSTALL_SBINDIR)/, exports_setup.proxy) \
$(addprefix $(INSTALL_LIBDIR)/, libtestbed.pm)
$(LINKS)
# #
# Tip servers get very little # Tip servers get very little
......
...@@ -5,6 +5,7 @@ SRCDIR = @srcdir@ ...@@ -5,6 +5,7 @@ SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@ TESTBED_SRCDIR = @top_srcdir@
OBJDIR = .. OBJDIR = ..
SUBDIR = utils SUBDIR = utils
UNIFIED = @UNIFIED_BOSS_AND_OPS@
include $(OBJDIR)/Makeconf include $(OBJDIR)/Makeconf
...@@ -32,11 +33,16 @@ install: $(addprefix $(INSTALL_BINDIR)/, $(BIN_SCRIPTS)) \ ...@@ -32,11 +33,16 @@ install: $(addprefix $(INSTALL_BINDIR)/, $(BIN_SCRIPTS)) \
# #
# Control node installation (okay, plastic) # Control node installation (okay, plastic)
# #
control-install: ifneq ($(UNIFIED),1)
cd $(INSTALL_BINDIR) && \ LINKS= cd $(INSTALL_BINDIR) && \
list='$(USERBINS)'; for file in $$list; do \ list='$(USERBINS)'; for file in $$list; do \
rm -f $$file; \ rm -f $$file; \
ln -s plasticwrap $$file; \ ln -s plasticwrap $$file; \
done; done;
endif
control-install:
$(LINKS)
clean: clean:
...@@ -21,6 +21,10 @@ sub usage() ...@@ -21,6 +21,10 @@ sub usage()
my $TB = "@prefix@"; my $TB = "@prefix@";
my $SSH = "@SSH@"; my $SSH = "@SSH@";
my $SSH_ARGS = '@SSH_ARGS@'; my $SSH_ARGS = '@SSH_ARGS@';
my $UNIFIED = "@UNIFIED_BOSS_AND_OPS@";
my $BOSSNODE = "@BOSSNODE@";
my $USERNODE = "@USERNODE@";
my $FSNODE = "@FSNODE@";
# Locals # Locals
my $debug = 0; my $debug = 0;
...@@ -70,7 +74,12 @@ if (!defined($hostname)) { ...@@ -70,7 +74,12 @@ if (!defined($hostname)) {
my $cmd; my $cmd;
if (! TBValidNodeName($hostname) || !TBIsNodeRemote($hostname)) { if (! TBValidNodeName($hostname) || !TBIsNodeRemote($hostname)) {
$cmd = "$SSH $SSH_ARGS @args $hostname @ARGV"; if ($UNIFIED && ($hostname eq $BOSSNODE || $hostname eq $USERNODE ||
$hostname eq $FSNODE)) {
$cmd = "@ARGV";
} else {
$cmd = "$SSH $SSH_ARGS @args $hostname @ARGV";
}
} }
else { else {
$cmd = "$SSH $SSH_ARGS @args -l emulabman $hostname @ARGV"; $cmd = "$SSH $SSH_ARGS @args -l emulabman $hostname @ARGV";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment