summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2017-02-13 15:23:08 +0100
committerfreva <valerijf@yahoo-inc.com>2017-02-13 15:23:08 +0100
commita1ac770b2544f4ccdcf0e7b349fc00fa9595f8b5 (patch)
tree52d7fc74c5cba54dbc94da905dd9cd08c8b0e831 /docker-api
parent73584a04eb1c17fc3ca1177208bf01e7a29b50fd (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.java27
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java3
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());