Handle missing login port

Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/a4d61fbd
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/a4d61fbd
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/a4d61fbd

Branch: refs/heads/master
Commit: a4d61fbd6230a42e31333d4dfad9b8d926037b5c
Parents: fd7d7cd
Author: Andrew Kennedy <[email protected]>
Authored: Fri Oct 10 19:02:48 2014 +0100
Committer: Andrew Kennedy <[email protected]>
Committed: Fri Oct 10 19:06:21 2014 +0100

----------------------------------------------------------------------
 .../docker/compute/functions/ContainerToNodeMetadata.java        | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a4d61fbd/docker/src/main/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadata.java
----------------------------------------------------------------------
diff --git 
a/docker/src/main/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadata.java
 
b/docker/src/main/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadata.java
index 6d54507..580e5f1 100644
--- 
a/docker/src/main/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadata.java
+++ 
b/docker/src/main/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadata.java
@@ -114,7 +114,7 @@ public class ContainerToNodeMetadata implements 
Function<Container, NodeMetadata
    protected static int getLoginPort(Container container) {
       if (container.getNetworkSettings() != null) {
           Map<String, List<Map<String, String>>> ports = 
container.getNetworkSettings().getPorts();
-          if (ports != null) {
+          if (ports != null && ports.containsKey("22/tcp")) {
             return 
Integer.parseInt(getOnlyElement(ports.get("22/tcp")).get("HostPort"));
           }
       // this is needed in case the container list is coming from 
listContainers
@@ -125,6 +125,6 @@ public class ContainerToNodeMetadata implements 
Function<Container, NodeMetadata
             }
          }
       }
-      throw new IllegalStateException("Cannot determine the login port for " + 
container.getId());
+      return -1;
    }
 }

Reply via email to