Repository: aries-containers Updated Branches: refs/heads/master 8d71dfef4 -> 258aef9db
Javadoc for to the Container API and rename getIPAddress() to getHostName() Project: http://git-wip-us.apache.org/repos/asf/aries-containers/repo Commit: http://git-wip-us.apache.org/repos/asf/aries-containers/commit/258aef9d Tree: http://git-wip-us.apache.org/repos/asf/aries-containers/tree/258aef9d Diff: http://git-wip-us.apache.org/repos/asf/aries-containers/diff/258aef9d Branch: refs/heads/master Commit: 258aef9db61a48ca6c1c95d613c90711930b6e9e Parents: 8d71dfe Author: David Bosschaert <[email protected]> Authored: Fri May 26 16:47:35 2017 +0100 Committer: David Bosschaert <[email protected]> Committed: Fri May 26 16:47:35 2017 +0100 ---------------------------------------------------------------------- .../org/apache/aries/containers/Container.java | 38 ++++++++++++++++++-- .../org/apache/aries/containers/Service.java | 17 +++++++++ .../apache/aries/containers/ServiceConfig.java | 2 +- .../docker/local/impl/ContainerImpl.java | 2 +- .../containers/marathon/impl/ContainerImpl.java | 2 +- 5 files changed, 56 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-containers/blob/258aef9d/containers-api/src/main/java/org/apache/aries/containers/Container.java ---------------------------------------------------------------------- diff --git a/containers-api/src/main/java/org/apache/aries/containers/Container.java b/containers-api/src/main/java/org/apache/aries/containers/Container.java index 91c9b41..07b1528 100644 --- a/containers-api/src/main/java/org/apache/aries/containers/Container.java +++ b/containers-api/src/main/java/org/apache/aries/containers/Container.java @@ -22,6 +22,17 @@ import java.util.Map; import org.osgi.annotation.versioning.ProviderType; +/** + * Instances of this class represent actual containers running for the + * service. As in certain systems the environment can move containers + * around, instances of this class are considered short-lived and should + * not be used long after they have been obtained, as the topology of + * the system may have been changed by the host platform or an + * administrator. <p> + * + * Instances of this class can be used to find out things like IP address, + * port mapping, container ID etc. + */ @ProviderType public interface Container extends Comparable<Container> { @Override @@ -29,15 +40,38 @@ public interface Container extends Comparable<Container> { return getID().compareTo(other.getID()); } + /** + * Destroy this container and scale the service back by 1 instance. + */ void destroy(); + + /** + * Obtain the container ID. This could be a docker ID or some other ID. + * + * @return The container ID. + */ String getID(); - String getIPAddress(); - /* The maps of ports exposed to the outside by the container. + /** + * The Host name or IP address that this container is accessible on. + * Note that this address may not be accessible from anywhere depending on the + * network topology. + * + * @return The host name / IP address for the container. + */ + String getHostName(); + + /** + * The maps of ports exposed to the outside by the container. * It maps an internal port to an outside port. * @return a map of exposed ports. */ Map<Integer, Integer> getExposedPorts(); + /** + * Obtain the service to which this container belongs. + * + * @return The service. + */ Service getService(); } http://git-wip-us.apache.org/repos/asf/aries-containers/blob/258aef9d/containers-api/src/main/java/org/apache/aries/containers/Service.java ---------------------------------------------------------------------- diff --git a/containers-api/src/main/java/org/apache/aries/containers/Service.java b/containers-api/src/main/java/org/apache/aries/containers/Service.java index df886a9..6fe0a90 100644 --- a/containers-api/src/main/java/org/apache/aries/containers/Service.java +++ b/containers-api/src/main/java/org/apache/aries/containers/Service.java @@ -31,14 +31,31 @@ public interface Service { /** * Obtain the current instance count. + * * @return The instance count. */ int getActualInstanceCount(); + /** + * Obtain the configuration that defines this service. + * + * @return The configuration for this service. + */ ServiceConfig getConfiguration(); + /** + * List the containers that are currently running the service. + * + * @return A list of containers. + */ List<Container> listContainers(); + /** + * Change the service to run the specified number of replica containers. + * + * @param count The desired number of containers. The service can temporary be + * suspected by using {@code 0} as the instance count. + */ void setInstanceCount(int count); /** http://git-wip-us.apache.org/repos/asf/aries-containers/blob/258aef9d/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java ---------------------------------------------------------------------- diff --git a/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java b/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java index c7a91ab..5413008 100644 --- a/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java +++ b/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java @@ -42,7 +42,7 @@ public class ServiceConfig { private final List<Integer> containerPorts; private final String entryPoint; private final Map<String, String> envVars; -// private final List<HealthCheck> healthChecks; +// private final List<HealthCheck> healthChecks; TODO add these! private final double requestedCPUunits; private final int requestedInstances; private final double requestedMemory; // in MiB http://git-wip-us.apache.org/repos/asf/aries-containers/blob/258aef9d/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java ---------------------------------------------------------------------- diff --git a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java index 2909f37..b4f4bb3 100644 --- a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java +++ b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java @@ -57,7 +57,7 @@ class ContainerImpl implements Container { } @Override - public String getIPAddress() { + public String getHostName() { return ip; } http://git-wip-us.apache.org/repos/asf/aries-containers/blob/258aef9d/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java ---------------------------------------------------------------------- diff --git a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java index a8c1f52..7e9802d 100644 --- a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java +++ b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java @@ -68,7 +68,7 @@ public class ContainerImpl implements Container { } @Override - public String getIPAddress() { + public String getHostName() { return host; }
