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);
+        }
     }
 }

Reply via email to