Merge branch 'master' of ssh://git.onelab.eu/git/sliver-openvswitch
[sliver-openvswitch.git] / planetlab / exp-tool / Makefile
index 606d54d..75719a3 100644 (file)
@@ -65,12 +65,12 @@ ALL_LINK_IDS=$(addsuffix @1,$(LINKS)) $(addsuffix @2,$(LINKS))
 CONF_NODE_IDS=$(subst HOST_,,$(filter HOST_%,$(.VARIABLES)))
 
 ####################
-init+all: init all
+init_all: init all
 init:
        @[ -d L ] || ( echo Creating tmp dir L; mkdir L)
        @[ -d log ] || (echo Creating tmp dir log; mkdir log)
        @[ -d cache ] || ( echo Creating tmp dir cache; mkdir cache)
-.PHONY: init+all init
+.PHONY: init_all init
 
 FORCE:
 
@@ -98,6 +98,9 @@ sshchecks: $(foreach id,$(ALL_NODE_IDS),sshcheck-$(id))
 .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)
@@ -124,6 +127,9 @@ CONTROLLERS=$(foreach id,$(ALL_NODE_IDS),cache/controller.$(id))
 controllers: $(CONTROLLERS)
 .PHONY: controllers
 
+del-controllers: $(foreach id,$(ALL_NODE_IDS),del-controller-$(id))
+.PHONY: del-controllers
+
 ### node-oriented targets
 # check ssh connectivity
 sshcheck-%: FORCE
@@ -133,10 +139,13 @@ sshcheck-%: FORCE
 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,$*)"
-       @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs status
+       @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs status ||:
 
 cache/host.%:
        @echo "IP lookup for $(call display,$*)"
@@ -162,7 +171,7 @@ cache/controller.%: cache/bridge.%
 # 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>
@@ -192,6 +201,11 @@ del-db.%:
        @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs stop-db
        @rm -f cache/db.$*
 
+del-controller.%:
+       @echo "Removing controller for $(call display,$*)"
+       @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs del-controller $(BRIDGE)
+       @rm -f cache/controller.$*
+
 del-links: $(addprefix U/,$(notdir $(filter-out %.log,$(wildcard L/*))))
 
 del-switchs: $(addprefix del-,$(notdir $(filter-out %.log,$(wildcard cache/switch.*))))
@@ -272,7 +286,7 @@ cache/link.%: cache/host.$$(call rget,%) cache/iface.% cache/iface.$$(call opp,%
 CLEANTARGETS=$(addprefix del-,$(notdir $(filter-out %.log,$(wildcard cache/bridge.*))))
 clean: $(CLEANTARGETS)
 distclean:
-       rm -rf L U cache
+       rm -rf L log cache
 .PHONY: clean distclean
 
 ####################