From: Thierry Parmentelat Date: Wed, 3 Oct 2012 08:53:59 +0000 (+0200) Subject: a few more targets, including make help (cat Makefile.help) and make ovsversions X-Git-Tag: sliver-openvswitch-1.8.90-5~27^2 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=9b8b5bb6afe91950cfaa45d8b2cb472d1e2f3078 a few more targets, including make help (cat Makefile.help) and make ovsversions --- diff --git a/planetlab/exp-tool/Makefile b/planetlab/exp-tool/Makefile index 2997c4a87..606d54dfd 100644 --- a/planetlab/exp-tool/Makefile +++ b/planetlab/exp-tool/Makefile @@ -60,16 +60,17 @@ SSH = ssh $(SSH_OPTIONS) SUDO ?= sudo -S ALL_NODE_IDS=$(sort $(foreach link,$(LINKS),$(call leftnode,$(link))) $(foreach link,$(LINKS),$(call rightnode,$(link)))) +ALL_NODE_HOSTS=$(foreach id,$(ALL_NODE_IDS),$(call solve,$(id))) ALL_LINK_IDS=$(addsuffix @1,$(LINKS)) $(addsuffix @2,$(LINKS)) CONF_NODE_IDS=$(subst HOST_,,$(filter HOST_%,$(.VARIABLES))) #################### -all+init: 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: all+init init +.PHONY: init+all init FORCE: @@ -84,14 +85,19 @@ showslice: ++SLICE FORCE shownodes: @$(foreach id,$(ALL_NODE_IDS),echo $(id)=$(call display,$(id));) +showhostnames: ++ALL_NODE_HOSTS showips: @$(foreach id,$(ALL_NODE_IDS),echo $(id)=$(call display,$(id)) has ip/network set to $(IP_$(id));) showlinks: @$(foreach link,$(LINKS), echo $(call display,$(call leftnode,$(link))) '====>' $(call display,$(call rightnode,$(link)));) -.PHONY: shownodes showips showlinks +showcontrollers: + @$(foreach id,$(ALL_NODE_IDS), echo $(call display,$(id)) has controller $(call default,CONTROLLER,$(id));) +.PHONY: shownodes showhostnames showips showlinks showcontrollers -sshchecks: $(foreach id,$(ALL_NODE_IDS),cache/sshcheck.$(id)) +sshchecks: $(foreach id,$(ALL_NODE_IDS),sshcheck-$(id)) .PHONY: sshchecks +ovsversions: $(foreach id,$(ALL_NODE_IDS),ovsversion-$(id)) +.PHONY: ovsversions DBS=$(foreach id,$(ALL_NODE_IDS),cache/db.$(id)) dbs: $(DBS) @@ -120,10 +126,13 @@ controllers: $(CONTROLLERS) ### node-oriented targets # check ssh connectivity -cache/sshcheck.%: FORCE - @if $(SSH) $(HOST_$*) hostname 2> /dev/null; then echo "ssh on" $(call display,$*) "OK" ; \ +sshcheck-%: FORCE + @if $(SSH) $(HOST_$*) hostname &> /dev/null; then echo "ssh on" $(call display,$*) "OK" ; \ else echo "ssh on" $(call display,$*) "KO !!!"; fi +ovsversion-%: FORCE + @OVSVERSION=$$($(SSH) $(HOST_$*) rpm -q sliver-openvswitch); echo $(call display,$*) has $$OVSVERSION + # should probably replace sshcheck cache/status.%: FORCE @echo "=== DB and SWITCH processes on $(call display,$*)" @@ -276,7 +285,7 @@ graph.ps: graph.dot #################### # 'virtual' targets in that there's no real file attached define node_shortcuts -sshcheck.$(1): cache/sshcheck.$(1) FORCE +sshcheck.$(1): sshcheck-$(1) FORCE db.$(1): cache/db.$(1) FORCE switch.$(1): cache/switch.$(1) FORCE start.$(1): cache/start.$(1) FORCE @@ -297,6 +306,9 @@ endef $(foreach id,$(ALL_LINK_IDS), $(eval $(call link_shortcuts,$(id)))) +help: + @cat Makefile.help + #################### convenience, for debugging only # make +foo : prints the value of $(foo) # make ++foo : idem but verbose, i.e. foo=$(foo) diff --git a/planetlab/exp-tool/Makefile.help b/planetlab/exp-tool/Makefile.help new file mode 100644 index 000000000..e9be270ee --- /dev/null +++ b/planetlab/exp-tool/Makefile.help @@ -0,0 +1,39 @@ +make [init+all] + shortcut for 'make init all' +make init + create util subdirs needed by this tool +make all + initialize the whole topology on all nodes +make showslice + show SLICE as defined in conf.mk +make shownodes +make showhostnames +make showips +make showlinks + show nodes and links declared in conf.mk in various formats +make sshchecks +make ovsversions + try out ssh connectivity to slivers in the slice, or show installed ovs version +make dbs + initialize ovs db in all slivers +make switchs + start ovs switch in all slivers +make start + shortcut for make dbs switchs +make stop + stop all ovs switch in all slivers +make status + list status of db and switch processes in all slivers +make bridges + create a bridge interface linked to tap devce in each sliver +==================== +make showcontrollers + show how OF controllers are configured from conf.mk + use CONTROLLER_ if set, or CONTROLLER as a default otherwise +make controllers + configure the various switches so they use the configured controllers + +==================== +make update (devel) + push a new version of sliver-ovs into the slivers + use SLIVER_OVS that should point to the local new version