add global start stop status targets for handling db+switch
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Fri, 7 Sep 2012 06:46:09 +0000 (08:46 +0200)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Fri, 7 Sep 2012 06:46:09 +0000 (08:46 +0200)
planetlab/exp-tool/Makefile

index eda603f..a9af02d 100644 (file)
@@ -74,12 +74,26 @@ dbs: $(foreach id,$(ALL_NODE_IDS),cache/db.$(id))
 switchs: $(foreach id,$(ALL_NODE_IDS),cache/switch.$(id))
 .PHONY: switchs
 
+start: dbs switchs
+.PHONY: start
+
+stop:$(foreach id,$(ALL_NODE_IDS),cache/stop.$(id))
+.PHONY: stop
+
+status:$(foreach id,$(ALL_NODE_IDS),cache/status.$(id))
+.PHONY: status
+
 ### node-oriented targets
 # check ssh connectivity
 cache/sshcheck.%: FORCE
        @if $(SSH) $(HOST_$*) hostname 2> /dev/null; then echo "ssh on" $(call display,$*) "OK" ; \
         else echo "ssh on" $(call display,$*) "KO !!!"; fi
 
+# should probably replace sshcheck
+cache/status.%: FORCE
+       @echo "=== DB and SWITCH processes on $(call display,$*)"
+       @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs status
+
 cache/host.%:
        @echo "IP lookup for $(call display,$*)"
        @host $(HOST_$*) | sed -n 's/^.*has address *//p' > $@
@@ -96,6 +110,11 @@ cache/bridge.%: cache/switch.%
        @echo "Creating bridge on $(call display,$*) - logs in $@.log"
        @$(SSH) $(HOST_$*) $(SUDO) sliver-ovs create-bridge $(IP_$*) > $@.log && touch $@
 
+# 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.%
+
 ### link-oriented targets
 L/%: cache/link.%@1 cache/link.%@2
        @touch $@