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/ae3548d6
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/ae3548d6
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/ae3548d6

Branch: refs/heads/1.8.x
Commit: ae3548d673e6b2b9984e500cad9b7c83a6342d43
Parents: 0dcd93c
Author: Andrew Kennedy <[email protected]>
Authored: Fri Oct 10 19:02:48 2014 +0100
Committer: Adrian Cole <[email protected]>
Committed: Tue Oct 28 08:19:32 2014 -0700

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


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ae3548d6/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