Repository: aries-containers Updated Branches: refs/heads/master ae855488b -> 710c96a7f
Add support for scaling up and refreshing service info. Project: http://git-wip-us.apache.org/repos/asf/aries-containers/repo Commit: http://git-wip-us.apache.org/repos/asf/aries-containers/commit/710c96a7 Tree: http://git-wip-us.apache.org/repos/asf/aries-containers/tree/710c96a7 Diff: http://git-wip-us.apache.org/repos/asf/aries-containers/diff/710c96a7 Branch: refs/heads/master Commit: 710c96a7fa9fb985f4d8caf71cbf6cb388182791 Parents: ae85548 Author: David Bosschaert <[email protected]> Authored: Fri May 26 09:54:23 2017 +0100 Committer: David Bosschaert <[email protected]> Committed: Fri May 26 09:54:23 2017 +0100 ---------------------------------------------------------------------- .../docker/local/impl/LocalDockerContainerFactory.java | 5 +++-- .../docker/local/impl/LocalDockerController.java | 3 +++ .../aries/containers/docker/local/impl/ServiceImpl.java | 12 ++++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-containers/blob/710c96a7/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerContainerFactory.java ---------------------------------------------------------------------- diff --git a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerContainerFactory.java b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerContainerFactory.java index 307712e..9dcbd8c 100644 --- a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerContainerFactory.java +++ b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerContainerFactory.java @@ -103,7 +103,7 @@ public class LocalDockerContainerFactory implements ContainerFactory { return containers; } - private ContainerImpl createDockerContainer(ServiceConfig config) throws Exception { + ContainerImpl createDockerContainer(ServiceConfig config) throws Exception { List<String> command = new ArrayList<>(); command.add("-d"); command.add("-l"); @@ -152,7 +152,7 @@ public class LocalDockerContainerFactory implements ContainerFactory { } @SuppressWarnings({ "rawtypes", "unchecked" }) - private List<ContainerImpl> discoverContainers(ServiceConfig config) { + List<ContainerImpl> discoverContainers(ServiceConfig config) { List<ContainerImpl> res = new ArrayList<>(); List<String> ids = getDockerIDs(config); if (ids.size() == 0) @@ -211,6 +211,7 @@ public class LocalDockerContainerFactory implements ContainerFactory { } @Override + @SuppressWarnings("rawtypes") public Set<String> listServices() throws Exception { Set<String> res = new HashSet<>(); List<String> ids = docker.ps(SERVICE_NAME); http://git-wip-us.apache.org/repos/asf/aries-containers/blob/710c96a7/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerController.java ---------------------------------------------------------------------- diff --git a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerController.java b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerController.java index 94801b6..78b74b8 100644 --- a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerController.java +++ b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/LocalDockerController.java @@ -62,6 +62,9 @@ public class LocalDockerController { } public String inspect(List<String> ids) { + if (ids.size() == 0) + return "[]"; + List<String> cmd = new ArrayList<>(); cmd.add("docker"); cmd.add("inspect"); http://git-wip-us.apache.org/repos/asf/aries-containers/blob/710c96a7/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ServiceImpl.java ---------------------------------------------------------------------- diff --git a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ServiceImpl.java b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ServiceImpl.java index 895d809..f852f00 100644 --- a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ServiceImpl.java +++ b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ServiceImpl.java @@ -64,7 +64,11 @@ public class ServiceImpl implements Service { killContainer(containers.remove(0)); } } else { - // TODO implement scaling up + for (int i=curSize; i < count; i++) { + ContainerImpl c = factory.createDockerContainer(config); + c.setService(this); + containers.add(c); + } } } catch (Exception e) { LocalDockerContainerFactory.LOG.error("Problem changing instance count of service {} to {}", @@ -87,6 +91,10 @@ public class ServiceImpl implements Service { @Override public void refresh() { - // TODO + containers.clear(); + for (ContainerImpl c : factory.discoverContainers(config)) { + c.setService(this); + containers.add(c); + } } }
