Fix Container conversion when image ID not present
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/88d2a582 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/88d2a582 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/88d2a582 Branch: refs/heads/1.8.x Commit: 88d2a582e0eeab1be1dd6f6a0c7102c6411d16a1 Parents: 4662f90 Author: Andrew Kennedy <[email protected]> Authored: Fri Oct 10 18:51:18 2014 +0100 Committer: Adrian Cole <[email protected]> Committed: Tue Oct 28 08:19:07 2014 -0700 ---------------------------------------------------------------------- .../docker/compute/functions/ContainerToNodeMetadata.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/88d2a582/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 72c16af..6d54507 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 @@ -18,6 +18,7 @@ package org.jclouds.docker.compute.functions; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.collect.Iterables.getOnlyElement; + import java.net.URI; import java.util.List; import java.util.Map; @@ -86,9 +87,12 @@ public class ContainerToNodeMetadata implements Function<Container, NodeMetadata builder.publicAddresses(getPublicIpAddresses()); builder.privateAddresses(getPrivateIpAddresses(container)); builder.location(Iterables.getOnlyElement(locations.get())); - Image image = images.get().get(container.getImage()); - builder.imageId(image.getId()); - builder.operatingSystem(image.getOperatingSystem()); + String imageId = container.getImage(); + builder.imageId(imageId); + if (images.get().containsKey(imageId)) { + Image image = images.get().get(imageId); + builder.operatingSystem(image.getOperatingSystem()); + } return builder.build(); }
