Marathon: support for scaling and listing services.
diff --git a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/MarathonContainerFactory.java b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/MarathonContainerFactory.java
index a508c53..e5c6b16 100644
--- a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/MarathonContainerFactory.java
+++ b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/MarathonContainerFactory.java
@@ -20,7 +20,9 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import org.apache.aries.containers.ContainerFactory;
@@ -133,22 +135,17 @@
 
     @Override
     public Set<String> listServices() throws Exception {
-        GetAppsResponse apps = marathonClient.getApps();
-        return Collections.emptySet();
-//        apps.getApps().stream().filter(a -> a).map(mapper)
+        GetAppsResponse services = marathonClient.getApps(
+                Collections.singletonMap("label", SERVICE_NAME));
 
-        /*
-        return apps.getApps().stream().
-                filter(a -> {
-                    Map<String, String> labels = a.getLabels();
-                    if (labels != null)
-                        return MARK_LABEL_VALUE.equals(a.getLabels().get(MARK_LABEL_KEY));
-                    else
-                        return false;
-                }).
-                map(a -> marathonIdToGroupName(a.getId())).
-                collect(Collectors.toSet());
-        */
+        Set<String> serviceNames = new HashSet<>();
+        for (App app : services.getApps()) {
+            Map<String, String> labels = app.getLabels();
+            String name = labels.get(SERVICE_NAME);
+            if (name != null && name.length() > 0)
+                serviceNames.add(name);
+        }
+        return serviceNames;
     }
 
 }
diff --git a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java
index cc6d100..ce1ef99 100644
--- a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java
+++ b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java
@@ -71,15 +71,13 @@
 
     @Override
     public void setInstanceCount(int count) {
-        App curApp = marathonClient.getApp(marathonAppID).getApp();
-        curApp.setInstances(count);
-        marathonClient.updateApp(marathonAppID, curApp, true);
+        App updatedApp = new App();
+        updatedApp.setInstances(count);;
+        marathonClient.updateApp(marathonAppID, updatedApp, true);
     }
 
     @Override
     public void refresh() {
-        // TODO Auto-generated method stub
-
+        // No state held - noop
     }
-
 }