.PHONY: sshchecks
ovsversions: $(foreach id,$(ALL_NODE_IDS),ovsversion-$(id))
.PHONY: ovsversions
+# more general form; run with make sshs SSH-COMMAND="bla bla bla"
+sshs: $(foreach id,$(ALL_NODE_IDS),ssh-$(id))
+.PHONY: sshs
DBS=$(foreach id,$(ALL_NODE_IDS),cache/db.$(id))
dbs: $(DBS)
ovsversion-%: FORCE
@OVSVERSION=$$($(SSH) $(HOST_$*) rpm -q sliver-openvswitch); echo $(call display,$*) has $$OVSVERSION
+ssh-%: FORCE
+ @$(SSH) $(HOST_$*) $(SUDO) $(SSH-COMMAND)
+
# should probably replace sshcheck
cache/status.%: FORCE
@echo "=== DB and SWITCH processes on $(call display,$*)"
# xxx this probably needs a more thorough cleanup in cache/
cache/stop.%: del-bridge.%
@echo "Stopping switch & db on $(call display,$*)"
- @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs stop && rm cache/switch.% cache/db.%
+ @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs stop && rm cache/switch.$* cache/db.$*
### link-oriented targets
# L/<nodeid>-<node_id>
+in almost all cases below it is recommended to use the -j option to make
+which was the point with uing make in the first place
+so that maximum degree of parallelism can be reached
+
==================== usual target
make [init+all]
shortcut for 'make init all'
make init
create util subdirs needed by this tool
-make all
+make -j all
initialize the whole topology on all nodes
==================== inspect donfig
make showslice
make sshchecks
make ovsversions
try out ssh connectivity to slivers in the slice, or show installed ovs version
+make sshs SSH-COMMAND="bla bla bla"
+ run "bla bla bla" in all slivers (and under sudo)
==================== For changing the topology on the fly
make L/<id1>-<id2>
create a link between nodes with ids <id1> and <id2>
make U/<id1>-<id2>
delete link between nodes with ids <id1> and <id2>
==================== cleanup
+make shutdown
+ tear down everything on the slivers, stops daemons and all
make clean
- clean up whatever has been created on the slivers
+ clean up whatever has been created on the slivers, keeps daemons running
make distclean
clean up local cache, useful when restarting from a clean slice
==================== configure (direct switches towards) OF controllers
make showcontrollers
show how OF controllers are configured from conf.mk
use CONTROLLER_<nodeid> if set, or CONTROLLER as a default otherwise
+ e.g. CONTROLLER=tcp:112.34.23.56:6633
+
make controllers
configure the various switches so they use the configured controllers
==================== devel
# the slice that you're using
SLICE=inri_sl1
+# optionally, the OF controller that you'd like to use
+# CONTROLLER = tcp:138.96.116.63:6633
+# you need to run 'make controllers' for this to take effect
+# you can also specify a controller per node, e.g.
+# CONTROLLER_SENDER = <another localtion>
+# NOTE that hostnames do not seem to be supported as of this writing
+
# optionnally, the related ssh (private) key to use
SSH_KEY=key_user.rsa