[docker-compose] restart controller as a workaround for finding a healthy invoker (#34)

diff --git a/docker-compose/Makefile b/docker-compose/Makefile
index e7c04f0..7d67e68 100644
--- a/docker-compose/Makefile
+++ b/docker-compose/Makefile
@@ -45,7 +45,7 @@
 	    ./gradlew distdocker -x :core:swift3Action:distDocker -x :core:swiftAction:distDocker
 
 .PHONY: run
-run: check-required-ports setup start-docker-compose init-couchdb init-whisk-cli
+run: check-required-ports setup start-docker-compose init-couchdb restart-controller init-whisk-cli
 
 .PHONY: check-required-ports
 check-required-ports:
@@ -66,6 +66,12 @@
 .PHONY: restart
 restart: stop rm start-docker-compose
 
+.PHONY: restart-controller
+restart-controller:
+	DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) DOCKER_REGISTRY=$(DOCKER_REGISTRY) DOCKER_IMAGE_PREFIX=$(DOCKER_IMAGE_PREFIX) docker-compose --project-name openwhisk restart controller 2>&1 > ~/tmp/openwhisk/docker-compose.log &
+	echo "waiting until the controller recognizes a healthy invoker ... "
+	until (curl --silent http://$(DOCKER_HOST_IP):8888/invokers | grep "up"); do printf '.'; sleep 5; done
+
 .PHONY: start-docker-compose
 start-docker-compose:
 	DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) DOCKER_REGISTRY=$(DOCKER_REGISTRY) DOCKER_IMAGE_PREFIX=$(DOCKER_IMAGE_PREFIX) docker-compose --project-name openwhisk up 2>&1 > ~/tmp/openwhisk/docker-compose.log &