You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by al...@apache.org on 2020/04/14 07:53:38 UTC

[openwhisk-wskdebug] 08/09: performance: move `docker info` check out of critical path

This is an automated email from the ASF dual-hosted git repository.

alexkli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk-wskdebug.git

commit b903c368137f32acaf3aab17f3e2b721e536faa0
Author: Alexander Klimetschek <ak...@adobe.com>
AuthorDate: Mon Apr 13 23:44:45 2020 -0700

    performance: move `docker info` check out of critical path
---
 src/debugger.js         | 4 ----
 src/invoker.js          | 5 ++++-
 test/install/Dockerfile | 2 +-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/debugger.js b/src/debugger.js
index 2cce15f..434f71f 100644
--- a/src/debugger.js
+++ b/src/debugger.js
@@ -60,10 +60,6 @@ class Debugger {
         this.agentMgr = new AgentMgr(this.argv, this.wsk, this.actionName);
         this.watcher = new Watcher(this.argv, this.wsk);
 
-        // quick fail for missing requirements such as docker not running
-        await OpenWhiskInvoker.checkIfAvailable();
-        debug("verified that docker is available and running");
-
         // get the action metadata
         const actionMetadata = await this.agentMgr.peekAction();
         debug("fetched action metadata from openwhisk");
diff --git a/src/invoker.js b/src/invoker.js
index 9a92318..35fff0e 100644
--- a/src/invoker.js
+++ b/src/invoker.js
@@ -83,7 +83,7 @@ class OpenWhiskInvoker {
         this.containerName = this.asContainerName(`wskdebug-${this.action.name}-${Date.now()}`);
     }
 
-    static async checkIfAvailable() {
+    async checkIfDockerAvailable() {
         try {
             execute("docker info", {stdio: 'ignore'});
         } catch (e) {
@@ -189,6 +189,9 @@ class OpenWhiskInvoker {
 
         let showDockerRunOutput = this.verbose;
 
+        // quick fail for missing requirements such as docker not running
+        await this.checkIfDockerAvailable();
+
         try {
             execute(`docker inspect --type=image ${this.image} 2> /dev/null`);
         } catch (e) {
diff --git a/test/install/Dockerfile b/test/install/Dockerfile
index a45d187..029ba79 100644
--- a/test/install/Dockerfile
+++ b/test/install/Dockerfile
@@ -38,4 +38,4 @@ RUN wskdebug --ngrok myaction 2>&1 | grep -A 10 "ngrok dependency required for -
 RUN npm install -g ngrok --unsafe-perm=true
 
 # then we should get another error (as we can't run it without docker)
-RUN wskdebug --ngrok myaction 2>&1 | grep -A 10 "Docker not running on local system. A local docker environment is required for the debugger."
+RUN wskdebug --ngrok myaction 2>&1 | grep -A 10 -E "(Error: Unknown Error From API: socket hang up|Docker not running on local system. A local docker environment is required for the debugger.)"