diff options
author | freva <valerijf@yahoo-inc.com> | 2017-02-13 15:23:08 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2017-02-13 15:23:08 +0100 |
commit | a1ac770b2544f4ccdcf0e7b349fc00fa9595f8b5 (patch) | |
tree | 52d7fc74c5cba54dbc94da905dd9cd08c8b0e831 /docker-api | |
parent | 73584a04eb1c17fc3ca1177208bf01e7a29b50fd (diff) |
Set created on NodeAgent init
Diffstat (limited to 'docker-api')
-rw-r--r-- | docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java | 27 | ||||
-rw-r--r-- | docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java | 3 |
2 files changed, 27 insertions, 3 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java index 94e827b8a49..48e9d55b89d 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java @@ -1,29 +1,50 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.dockerapi; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.Instant; import java.util.Objects; /** * @author stiankri */ public class Container { + private static final SimpleDateFormat DOCKER_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSSX"); public final String hostname; public final DockerImage image; public final ContainerName name; public final State state; public final int pid; + public final String created; public Container( final String hostname, final DockerImage image, final ContainerName containerName, final State state, - final int pid) { + final int pid, + final String created) { this.hostname = hostname; this.image = image; this.name = containerName; this.state = state; this.pid = pid; + this.created = created; + } + + // For testing only + public Container( + final String hostname, + final DockerImage image, + final ContainerName containerName, + final State state, + final int pid) { + this(hostname, image, containerName, state, pid, "2017-02-13T13:45:12.133713371Z"); + } + + public Instant getCreatedAsInstant() throws ParseException { + return DOCKER_DATE_FORMAT.parse(created).toInstant(); } @Override @@ -35,7 +56,8 @@ public class Container { return Objects.equals(hostname, other.hostname) && Objects.equals(image, other.image) && Objects.equals(name, other.name) - && Objects.equals(pid, other.pid); + && Objects.equals(pid, other.pid) + && Objects.equals(created, other.created); } @Override @@ -51,6 +73,7 @@ public class Container { + " name=" + name + " state=" + state + " pid=" + pid + + " created=" + created + "}"; } diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java index a76c54c65dd..1ac5f62b130 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java @@ -364,7 +364,8 @@ public class DockerImpl implements Docker { new DockerImage(response.getConfig().getImage()), new ContainerName(decode(response.getName())), Container.State.valueOf(response.getState().getStatus().toUpperCase()), - response.getState().getPid() + response.getState().getPid(), + response.getCreated() )) .map(Stream::of) .orElse(Stream.empty()); |