You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/12/19 12:22:40 UTC

stratos git commit: Refining cloud controller service methods

Repository: stratos
Updated Branches:
  refs/heads/master e142f2ded -> 2578fda78


Refining cloud controller service methods


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/2578fda7
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/2578fda7
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/2578fda7

Branch: refs/heads/master
Commit: 2578fda78162188c48c50d9c231bb430e844b81e
Parents: e142f2d
Author: Imesh Gunaratne <im...@apache.org>
Authored: Fri Dec 19 16:52:17 2014 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Fri Dec 19 16:52:33 2014 +0530

----------------------------------------------------------------------
 .../services/CloudControllerService.java        |  74 ++-
 .../impl/CloudControllerServiceImpl.java        |  15 +-
 .../src/main/resources/META-INF/services.xml    |   2 +-
 .../client/CloudControllerServiceClient.java    |   6 +-
 .../handlers/GenericExceptionMapper.java        |   2 +-
 .../main/resources/CloudControllerService.wsdl  | 500 +++++++++----------
 6 files changed, 316 insertions(+), 283 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/2578fda7/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
index 32181bd..ce4887d 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
@@ -33,7 +33,7 @@ import org.apache.stratos.messaging.domain.topology.ClusterStatus;
 public interface CloudControllerService {
     
 	/**
-	 * Adds a Cartridge configuration
+	 * Add a cartridge
 	 * @param cartridgeConfig cartridge configuration to be deployed
 	 * @throws InvalidCartridgeDefinitionException if the cartridge configuration is not valid.
 	 * @throws InvalidIaasProviderException if the iaas providers configured are not valid.
@@ -43,23 +43,57 @@ public interface CloudControllerService {
             throws InvalidCartridgeDefinitionException, InvalidIaasProviderException;
     
     /**
-     * Removes a cartridge configuration which is already deployed.
+     * Remove a cartridge
      * @param cartridgeType type of the cartridge to be undeployed.
      * @throws InvalidCartridgeTypeException if the cartridge type specified is not a deployed cartridge.
      */
     public void removeCartridge(String cartridgeType) throws InvalidCartridgeTypeException;
-    
+
+    /**
+     * Add a service group
+     * @param servicegroup
+     * @throws InvalidServiceGroupException
+     */
     public void addServiceGroup(ServiceGroup servicegroup) throws InvalidServiceGroupException;
-    
+
+    /**
+     * Remove a service group
+     * @param name
+     * @throws InvalidServiceGroupException
+     */
     public void removeServiceGroup(String name) throws InvalidServiceGroupException;
-    
-    public ServiceGroup getServiceGroup (String name) throws InvalidServiceGroupException;
-    
-    public String[] getServiceGroupSubGroups (String name) throws InvalidServiceGroupException;
-    
-    public String[] getServiceGroupCartridges (String name) throws InvalidServiceGroupException;
-    
-    public Dependencies getServiceGroupDependencies (String name) throws InvalidServiceGroupException;
+
+    /**
+     * Get service group
+     * @param groupName
+     * @return
+     * @throws InvalidServiceGroupException
+     */
+    public ServiceGroup getServiceGroup (String groupName) throws InvalidServiceGroupException;
+
+    /**
+     * Get service group sub group
+     * @param groupName
+     * @return
+     * @throws InvalidServiceGroupException
+     */
+    public String[] getServiceGroupSubGroups (String groupName) throws InvalidServiceGroupException;
+
+    /**
+     * Get cartridges of a service group
+     * @param groupName
+     * @return
+     * @throws InvalidServiceGroupException
+     */
+    public String[] getServiceGroupCartridges (String groupName) throws InvalidServiceGroupException;
+
+    /**
+     * Get service group dependencies
+     * @param groupName
+     * @return
+     * @throws InvalidServiceGroupException
+     */
+    public Dependencies getServiceGroupDependencies (String groupName) throws InvalidServiceGroupException;
 
     /**
      * Validate a given {@link Partition} for basic property existence.
@@ -70,7 +104,7 @@ public interface CloudControllerService {
     boolean validatePartition(Partition partition) throws InvalidPartitionException;
     
     /**
-     * Validate a given deployment policy.
+     * Validate a given deployment policy
      * @param cartridgeType type of the cartridge
      * @param partitions partitions
      * @return whether the policy is a valid one against the given Cartridge.
@@ -88,7 +122,7 @@ public interface CloudControllerService {
      * </p>
      * @param registrant information about the new subscription.
      * @return whether the registration is successful or not.
-     * 
+     *
      * @throws UnregisteredCartridgeException
      *             when the cartridge type requested by this service is
      *             not a registered one.
@@ -132,7 +166,7 @@ public interface CloudControllerService {
      *            cluster ID of the instance to be terminated.
      * @return whether an instance terminated successfully or not.
      */
-    void terminateAllInstances(String clusterId) throws InvalidClusterException;
+    void terminateInstances(String clusterId) throws InvalidClusterException;
     
     /**
      * Terminate all containers of the given cluster.
@@ -140,7 +174,7 @@ public interface CloudControllerService {
      * @return terminated {@link MemberContext}s
      * @throws InvalidClusterException
      */
-    MemberContext[] terminateAllContainers(String clusterId) throws InvalidClusterException;
+    MemberContext[] terminateContainers(String clusterId) throws InvalidClusterException;
     
     /**
      * Terminate a given member/Kubernetes Pod.
@@ -174,14 +208,14 @@ public interface CloudControllerService {
      * @throws UnregisteredClusterException if the service cluster requested is not a registered one.
      */
     void unregisterDockerService(String clusterId) throws UnregisteredClusterException;
-
+    
     /**
      * Unregister the service cluster identified by the given cluster id.
      * @param clusterId service cluster id.
      * @throws UnregisteredClusterException if the service cluster requested is not a registered one.
      */
     void unregisterService(String clusterId) throws UnregisteredClusterException;
-    
+
     /**
      * This method will return the information regarding the given cartridge, if present.
      * Else this will return <code>null</code>.
@@ -199,7 +233,7 @@ public interface CloudControllerService {
      * 
      * @return String array containing types of registered {@link org.apache.stratos.cloud.controller.domain.Cartridge}s.
      */
-    String[] getRegisteredCartridges();
+    String[] getCartridges();
 
     /**
      * Returns the {@link org.apache.stratos.cloud.controller.domain.ClusterContext} object associated with the given cluster id, or null if not found
@@ -236,7 +270,7 @@ public interface CloudControllerService {
     /**
      * Retrieves registered Kubernetes Groups.
      */
-    public KubernetesGroup[] getAllKubernetesGroups();
+    public KubernetesGroup[] getKubernetesGroups();
 
     /**
      * Retrieves Kubernetes Group for given Kubernetes Group ID.

http://git-wip-us.apache.org/repos/asf/stratos/blob/2578fda7/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 3ac8378..2d6875d 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -73,8 +73,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 
     private static final Log log = LogFactory.getLog(CloudControllerServiceImpl.class);
 
-    private CloudControllerContext cloudControllerContext = CloudControllerContext
-            .getInstance();
+    private CloudControllerContext cloudControllerContext = CloudControllerContext.getInstance();
 
     public CloudControllerServiceImpl() {
     }
@@ -644,7 +643,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
 
     @Override
-    public void terminateAllInstances(String clusterId) throws InvalidClusterException {
+    public void terminateInstances(String clusterId) throws InvalidClusterException {
 
         log.info("Starting to terminate all instances of cluster : "
                 + clusterId);
@@ -711,7 +710,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
 
     @Override
-    public String[] getRegisteredCartridges() {
+    public String[] getCartridges() {
         // get the list of cartridges registered
         Collection<Cartridge> cartridges = CloudControllerContext.getInstance().getCartridges();
 
@@ -889,7 +888,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
             lock = CloudControllerContext.getInstance().acquireClusterContextWriteLock();
             // terminate all kubernetes units
             try {
-                terminateAllContainers(clusterId);
+                terminateContainers(clusterId);
             } catch (InvalidClusterException e) {
                 String msg = "Docker instance termination fails for cluster: " + clusterId;
                 log.error(msg, e);
@@ -1149,7 +1148,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
                     if (log.isDebugEnabled()) {
                         log.debug(String.format("Pods are not created for cluster : %s, hence deleting the service", clusterId));
                     }
-                    terminateAllContainers(clusterId);
+                    terminateContainers(clusterId);
                     return new MemberContext[0];
                 }
 
@@ -1258,7 +1257,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
 
     @Override
-    public MemberContext[] terminateAllContainers(String clusterId)
+    public MemberContext[] terminateContainers(String clusterId)
             throws InvalidClusterException {
         Lock lock = null;
         try {
@@ -1623,7 +1622,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
 
     @Override
-    public KubernetesGroup[] getAllKubernetesGroups() {
+    public KubernetesGroup[] getKubernetesGroups() {
         return CloudControllerContext.getInstance().getKubernetesGroups();
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/2578fda7/components/org.apache.stratos.cloud.controller/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/resources/META-INF/services.xml b/components/org.apache.stratos.cloud.controller/src/main/resources/META-INF/services.xml
index b4e02dd..06ecd88 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/resources/META-INF/services.xml
+++ b/components/org.apache.stratos.cloud.controller/src/main/resources/META-INF/services.xml
@@ -33,7 +33,7 @@
         <operation name="removeCartridge">
             <parameter name="AuthorizationAction" locked="true">/permission/admin/manage/add/cartridgeDefinition</parameter>
         </operation>
-        <operation name="getRegisteredCartridges">
+        <operation name="getCartridges">
             <parameter name="AuthorizationAction" locked="true">/permission/admin/manage/view/cartridge</parameter>
         </operation>
         <operation name="getCartridgeInfo">

http://git-wip-us.apache.org/repos/asf/stratos/blob/2578fda7/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
index 7694a37..7ab1837 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
@@ -125,11 +125,11 @@ public class CloudControllerServiceClient {
 
     public void terminateAllInstances(String clusterId) throws RemoteException, 
     CloudControllerServiceInvalidClusterExceptionException {
-		stub.terminateAllInstances(clusterId);
+		stub.terminateInstances(clusterId);
 	}
 
 	public String[] getRegisteredCartridges() throws RemoteException {
-		return stub.getRegisteredCartridges();
+		return stub.getCartridges();
 	}
 
 	public CartridgeInfo getCartridgeInfo(String cartridgeType) throws RemoteException, 
@@ -166,7 +166,7 @@ public class CloudControllerServiceClient {
     }
 
     public KubernetesGroup[] getAvailableKubernetesGroups() throws RemoteException {
-        return stub.getAllKubernetesGroups();
+        return stub.getKubernetesGroups();
     }
 
     public KubernetesGroup getKubernetesGroup(String kubernetesGroupId) throws RemoteException,

http://git-wip-us.apache.org/repos/asf/stratos/blob/2578fda7/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
index 684bd2e..ca28c2b 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/GenericExceptionMapper.java
@@ -35,7 +35,7 @@ public class GenericExceptionMapper implements ExceptionMapper<WebApplicationExc
 
     public Response toResponse(WebApplicationException webApplicationException) {
         if(log.isDebugEnabled()){
-            log.debug("Internal erver error", webApplicationException);
+            log.debug("Internal server error", webApplicationException);
         }
         // if no specific error message specified, spitting out a generaic error message
         String errorMessage = (webApplicationException.getMessage() != null)?

http://git-wip-us.apache.org/repos/asf/stratos/blob/2578fda7/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index a8b719a..e61609b 100644
--- a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -5,45 +5,15 @@
             <xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://kubernetes.common.stratos.apache.org/xsd"/>
             <xs:import namespace="http://topology.domain.messaging.stratos.apache.org/xsd"/>
-            <xs:element name="CloudControllerServiceInvalidMemberException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="terminateInstance">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="CloudControllerServiceUnregisteredCartridgeException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="UnregisteredCartridgeException" nillable="true" type="ax21:UnregisteredCartridgeException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="registerService">
+            <xs:element name="getCartridges">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="registerServiceResponse">
+            <xs:element name="getCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -68,6 +38,13 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="removeCartridge">
                 <xs:complexType>
                     <xs:sequence>
@@ -201,6 +178,18 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="getKubernetesGroups">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getKubernetesGroupsResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesGroup"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="getServiceGroupCartridges">
                 <xs:complexType>
                     <xs:sequence>
@@ -279,6 +268,13 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="CloudControllerServiceUnregisteredCartridgeException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="UnregisteredCartridgeException" nillable="true" type="ax21:UnregisteredCartridgeException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="startInstance">
                 <xs:complexType>
                     <xs:sequence>
@@ -314,21 +310,21 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateAllInstances">
+            <xs:element name="terminateInstances">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateAllContainers">
+            <xs:element name="terminateContainers">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateAllContainersResponse">
+            <xs:element name="terminateContainersResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
@@ -416,18 +412,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getRegisteredCartridges">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getRegisteredCartridgesResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
                 <xs:complexType>
                     <xs:sequence>
@@ -462,18 +446,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAllKubernetesGroups">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getAllKubernetesGroupsResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesGroup"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element name="getMasterForKubernetesGroup">
                 <xs:complexType>
                     <xs:sequence>
@@ -566,6 +538,34 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="CloudControllerServiceInvalidMemberException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="terminateInstance">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="registerService">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="registerServiceResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
         </xs:schema>
         <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.common.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
@@ -628,27 +628,17 @@
             </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.controller.cloud.stratos.apache.org/xsd">
-            <xs:complexType name="InvalidMemberException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="InvalidCartridgeTypeException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="UnregisteredCartridgeException">
+            <xs:complexType name="InvalidCartridgeDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeDefinitionException">
+            <xs:complexType name="InvalidIaasProviderException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidIaasProviderException">
+            <xs:complexType name="InvalidCartridgeTypeException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
@@ -678,6 +668,11 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="UnregisteredCartridgeException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="InvalidClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -718,40 +713,14 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-        </xs:schema>
-        <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
-            <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:complexType name="Registrant">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Persistence">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="persistanceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Volume">
+            <xs:complexType name="InvalidMemberException">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="size" type="xs:int"/>
-                    <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
+            <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="CartridgeConfig">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
@@ -831,6 +800,24 @@
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="Persistence">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="persistanceRequired" type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="Volume">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="size" type="xs:int"/>
+                    <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="PortMapping">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="port" nillable="true" type="xs:string"/>
@@ -946,8 +933,27 @@
                     <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="Registrant">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
     </wsdl:types>
+    <wsdl:message name="getCartridgesRequest">
+        <wsdl:part name="parameters" element="ns:getCartridges"/>
+    </wsdl:message>
+    <wsdl:message name="getCartridgesResponse">
+        <wsdl:part name="parameters" element="ns:getCartridgesResponse"/>
+    </wsdl:message>
     <wsdl:message name="updateKubernetesMasterRequest">
         <wsdl:part name="parameters" element="ns:updateKubernetesMaster"/>
     </wsdl:message>
@@ -1029,15 +1035,15 @@
     <wsdl:message name="CloudControllerServiceUnregisteredCartridgeException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceUnregisteredCartridgeException"/>
     </wsdl:message>
-    <wsdl:message name="addServiceGroupRequest">
-        <wsdl:part name="parameters" element="ns:addServiceGroup"/>
-    </wsdl:message>
     <wsdl:message name="registerServiceRequest">
         <wsdl:part name="parameters" element="ns:registerService"/>
     </wsdl:message>
     <wsdl:message name="registerServiceResponse">
         <wsdl:part name="parameters" element="ns:registerServiceResponse"/>
     </wsdl:message>
+    <wsdl:message name="addServiceGroupRequest">
+        <wsdl:part name="parameters" element="ns:addServiceGroup"/>
+    </wsdl:message>
     <wsdl:message name="terminateInstanceRequest">
         <wsdl:part name="parameters" element="ns:terminateInstance"/>
     </wsdl:message>
@@ -1062,6 +1068,15 @@
     <wsdl:message name="getServiceGroupResponse">
         <wsdl:part name="parameters" element="ns:getServiceGroupResponse"/>
     </wsdl:message>
+    <wsdl:message name="terminateContainersRequest">
+        <wsdl:part name="parameters" element="ns:terminateContainers"/>
+    </wsdl:message>
+    <wsdl:message name="terminateContainersResponse">
+        <wsdl:part name="parameters" element="ns:terminateContainersResponse"/>
+    </wsdl:message>
+    <wsdl:message name="CloudControllerServiceInvalidClusterException">
+        <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidClusterException"/>
+    </wsdl:message>
     <wsdl:message name="removeKubernetesGroupRequest">
         <wsdl:part name="parameters" element="ns:removeKubernetesGroup"/>
     </wsdl:message>
@@ -1083,14 +1098,11 @@
     <wsdl:message name="CloudControllerServiceInvalidKubernetesHostException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidKubernetesHostException"/>
     </wsdl:message>
-    <wsdl:message name="terminateAllContainersRequest">
-        <wsdl:part name="parameters" element="ns:terminateAllContainers"/>
-    </wsdl:message>
-    <wsdl:message name="terminateAllContainersResponse">
-        <wsdl:part name="parameters" element="ns:terminateAllContainersResponse"/>
+    <wsdl:message name="getKubernetesGroupsRequest">
+        <wsdl:part name="parameters" element="ns:getKubernetesGroups"/>
     </wsdl:message>
-    <wsdl:message name="CloudControllerServiceInvalidClusterException">
-        <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidClusterException"/>
+    <wsdl:message name="getKubernetesGroupsResponse">
+        <wsdl:part name="parameters" element="ns:getKubernetesGroupsResponse"/>
     </wsdl:message>
     <wsdl:message name="createClusterInstanceRequest">
         <wsdl:part name="parameters" element="ns:createClusterInstance"/>
@@ -1119,15 +1131,6 @@
     <wsdl:message name="CloudControllerServiceNonExistingKubernetesHostException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceNonExistingKubernetesHostException"/>
     </wsdl:message>
-    <wsdl:message name="terminateAllInstancesRequest">
-        <wsdl:part name="parameters" element="ns:terminateAllInstances"/>
-    </wsdl:message>
-    <wsdl:message name="getRegisteredCartridgesRequest">
-        <wsdl:part name="parameters" element="ns:getRegisteredCartridges"/>
-    </wsdl:message>
-    <wsdl:message name="getRegisteredCartridgesResponse">
-        <wsdl:part name="parameters" element="ns:getRegisteredCartridgesResponse"/>
-    </wsdl:message>
     <wsdl:message name="unregisterDockerServiceRequest">
         <wsdl:part name="parameters" element="ns:unregisterDockerService"/>
     </wsdl:message>
@@ -1140,11 +1143,8 @@
     <wsdl:message name="CloudControllerServiceInvalidIaasProviderException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidIaasProviderException"/>
     </wsdl:message>
-    <wsdl:message name="getAllKubernetesGroupsRequest">
-        <wsdl:part name="parameters" element="ns:getAllKubernetesGroups"/>
-    </wsdl:message>
-    <wsdl:message name="getAllKubernetesGroupsResponse">
-        <wsdl:part name="parameters" element="ns:getAllKubernetesGroupsResponse"/>
+    <wsdl:message name="terminateInstancesRequest">
+        <wsdl:part name="parameters" element="ns:terminateInstances"/>
     </wsdl:message>
     <wsdl:message name="updateContainersRequest">
         <wsdl:part name="parameters" element="ns:updateContainers"/>
@@ -1186,6 +1186,10 @@
         <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidCartridgeDefinitionException"/>
     </wsdl:message>
     <wsdl:portType name="CloudControllerServicePortType">
+        <wsdl:operation name="getCartridges">
+            <wsdl:input message="ns:getCartridgesRequest" wsaw:Action="urn:getCartridges"/>
+            <wsdl:output message="ns:getCartridgesResponse" wsaw:Action="urn:getCartridgesResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="updateKubernetesMaster">
             <wsdl:input message="ns:updateKubernetesMasterRequest" wsaw:Action="urn:updateKubernetesMaster"/>
             <wsdl:output message="ns:updateKubernetesMasterResponse" wsaw:Action="urn:updateKubernetesMasterResponse"/>
@@ -1232,15 +1236,15 @@
             <wsdl:output message="ns:startContainersResponse" wsaw:Action="urn:startContainersResponse"/>
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredCartridgeException" name="CloudControllerServiceUnregisteredCartridgeException" wsaw:Action="urn:startContainersCloudControllerServiceUnregisteredCartridgeException"/>
         </wsdl:operation>
-        <wsdl:operation name="addServiceGroup">
-            <wsdl:input message="ns:addServiceGroupRequest" wsaw:Action="urn:addServiceGroup"/>
-            <wsdl:fault message="ns:CloudControllerServiceInvalidServiceGroupException" name="CloudControllerServiceInvalidServiceGroupException" wsaw:Action="urn:addServiceGroupCloudControllerServiceInvalidServiceGroupException"/>
-        </wsdl:operation>
         <wsdl:operation name="registerService">
             <wsdl:input message="ns:registerServiceRequest" wsaw:Action="urn:registerService"/>
             <wsdl:output message="ns:registerServiceResponse" wsaw:Action="urn:registerServiceResponse"/>
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredCartridgeException" name="CloudControllerServiceUnregisteredCartridgeException" wsaw:Action="urn:registerServiceCloudControllerServiceUnregisteredCartridgeException"/>
         </wsdl:operation>
+        <wsdl:operation name="addServiceGroup">
+            <wsdl:input message="ns:addServiceGroupRequest" wsaw:Action="urn:addServiceGroup"/>
+            <wsdl:fault message="ns:CloudControllerServiceInvalidServiceGroupException" name="CloudControllerServiceInvalidServiceGroupException" wsaw:Action="urn:addServiceGroupCloudControllerServiceInvalidServiceGroupException"/>
+        </wsdl:operation>
         <wsdl:operation name="terminateInstance">
             <wsdl:input message="ns:terminateInstanceRequest" wsaw:Action="urn:terminateInstance"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidMemberException" name="CloudControllerServiceInvalidMemberException" wsaw:Action="urn:terminateInstanceCloudControllerServiceInvalidMemberException"/>
@@ -1261,6 +1265,11 @@
             <wsdl:output message="ns:getServiceGroupResponse" wsaw:Action="urn:getServiceGroupResponse"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidServiceGroupException" name="CloudControllerServiceInvalidServiceGroupException" wsaw:Action="urn:getServiceGroupCloudControllerServiceInvalidServiceGroupException"/>
         </wsdl:operation>
+        <wsdl:operation name="terminateContainers">
+            <wsdl:input message="ns:terminateContainersRequest" wsaw:Action="urn:terminateContainers"/>
+            <wsdl:output message="ns:terminateContainersResponse" wsaw:Action="urn:terminateContainersResponse"/>
+            <wsdl:fault message="ns:CloudControllerServiceInvalidClusterException" name="CloudControllerServiceInvalidClusterException" wsaw:Action="urn:terminateContainersCloudControllerServiceInvalidClusterException"/>
+        </wsdl:operation>
         <wsdl:operation name="removeKubernetesGroup">
             <wsdl:input message="ns:removeKubernetesGroupRequest" wsaw:Action="urn:removeKubernetesGroup"/>
             <wsdl:output message="ns:removeKubernetesGroupResponse" wsaw:Action="urn:removeKubernetesGroupResponse"/>
@@ -1277,10 +1286,9 @@
             <wsdl:fault message="ns:CloudControllerServiceInvalidKubernetesHostException" name="CloudControllerServiceInvalidKubernetesHostException" wsaw:Action="urn:addKubernetesHostCloudControllerServiceInvalidKubernetesHostException"/>
             <wsdl:fault message="ns:CloudControllerServiceNonExistingKubernetesGroupException" name="CloudControllerServiceNonExistingKubernetesGroupException" wsaw:Action="urn:addKubernetesHostCloudControllerServiceNonExistingKubernetesGroupException"/>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllContainers">
-            <wsdl:input message="ns:terminateAllContainersRequest" wsaw:Action="urn:terminateAllContainers"/>
-            <wsdl:output message="ns:terminateAllContainersResponse" wsaw:Action="urn:terminateAllContainersResponse"/>
-            <wsdl:fault message="ns:CloudControllerServiceInvalidClusterException" name="CloudControllerServiceInvalidClusterException" wsaw:Action="urn:terminateAllContainersCloudControllerServiceInvalidClusterException"/>
+        <wsdl:operation name="getKubernetesGroups">
+            <wsdl:input message="ns:getKubernetesGroupsRequest" wsaw:Action="urn:getKubernetesGroups"/>
+            <wsdl:output message="ns:getKubernetesGroupsResponse" wsaw:Action="urn:getKubernetesGroupsResponse"/>
         </wsdl:operation>
         <wsdl:operation name="createClusterInstance">
             <wsdl:input message="ns:createClusterInstanceRequest" wsaw:Action="urn:createClusterInstance"/>
@@ -1300,14 +1308,6 @@
             <wsdl:output message="ns:removeKubernetesHostResponse" wsaw:Action="urn:removeKubernetesHostResponse"/>
             <wsdl:fault message="ns:CloudControllerServiceNonExistingKubernetesHostException" name="CloudControllerServiceNonExistingKubernetesHostException" wsaw:Action="urn:removeKubernetesHostCloudControllerServiceNonExistingKubernetesHostException"/>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllInstances">
-            <wsdl:input message="ns:terminateAllInstancesRequest" wsaw:Action="urn:terminateAllInstances"/>
-            <wsdl:fault message="ns:CloudControllerServiceInvalidClusterException" name="CloudControllerServiceInvalidClusterException" wsaw:Action="urn:terminateAllInstancesCloudControllerServiceInvalidClusterException"/>
-        </wsdl:operation>
-        <wsdl:operation name="getRegisteredCartridges">
-            <wsdl:input message="ns:getRegisteredCartridgesRequest" wsaw:Action="urn:getRegisteredCartridges"/>
-            <wsdl:output message="ns:getRegisteredCartridgesResponse" wsaw:Action="urn:getRegisteredCartridgesResponse"/>
-        </wsdl:operation>
         <wsdl:operation name="unregisterDockerService">
             <wsdl:input message="ns:unregisterDockerServiceRequest" wsaw:Action="urn:unregisterDockerService"/>
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredClusterException" name="CloudControllerServiceUnregisteredClusterException" wsaw:Action="urn:unregisterDockerServiceCloudControllerServiceUnregisteredClusterException"/>
@@ -1318,9 +1318,9 @@
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredCartridgeException" name="CloudControllerServiceUnregisteredCartridgeException" wsaw:Action="urn:startInstanceCloudControllerServiceUnregisteredCartridgeException"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidIaasProviderException" name="CloudControllerServiceInvalidIaasProviderException" wsaw:Action="urn:startInstanceCloudControllerServiceInvalidIaasProviderException"/>
         </wsdl:operation>
-        <wsdl:operation name="getAllKubernetesGroups">
-            <wsdl:input message="ns:getAllKubernetesGroupsRequest" wsaw:Action="urn:getAllKubernetesGroups"/>
-            <wsdl:output message="ns:getAllKubernetesGroupsResponse" wsaw:Action="urn:getAllKubernetesGroupsResponse"/>
+        <wsdl:operation name="terminateInstances">
+            <wsdl:input message="ns:terminateInstancesRequest" wsaw:Action="urn:terminateInstances"/>
+            <wsdl:fault message="ns:CloudControllerServiceInvalidClusterException" name="CloudControllerServiceInvalidClusterException" wsaw:Action="urn:terminateInstancesCloudControllerServiceInvalidClusterException"/>
         </wsdl:operation>
         <wsdl:operation name="updateContainers">
             <wsdl:input message="ns:updateContainersRequest" wsaw:Action="urn:updateContainers"/>
@@ -1361,6 +1361,15 @@
     </wsdl:portType>
     <wsdl:binding name="CloudControllerServiceSoap11Binding" type="ns:CloudControllerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="getCartridges">
+            <soap:operation soapAction="urn:getCartridges" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="addKubernetesGroup">
             <soap:operation soapAction="urn:addKubernetesGroup" style="document"/>
             <wsdl:input>
@@ -1472,6 +1481,15 @@
                 <soap:fault use="literal" name="CloudControllerServiceNonExistingKubernetesGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="addServiceGroup">
+            <soap:operation soapAction="urn:addServiceGroup" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:fault name="CloudControllerServiceInvalidServiceGroupException">
+                <soap:fault use="literal" name="CloudControllerServiceInvalidServiceGroupException"/>
+            </wsdl:fault>
+        </wsdl:operation>
         <wsdl:operation name="registerService">
             <soap:operation soapAction="urn:registerService" style="document"/>
             <wsdl:input>
@@ -1484,15 +1502,6 @@
                 <soap:fault use="literal" name="CloudControllerServiceUnregisteredCartridgeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="addServiceGroup">
-            <soap:operation soapAction="urn:addServiceGroup" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceInvalidServiceGroupException">
-                <soap:fault use="literal" name="CloudControllerServiceInvalidServiceGroupException"/>
-            </wsdl:fault>
-        </wsdl:operation>
         <wsdl:operation name="terminateInstance">
             <soap:operation soapAction="urn:terminateInstance" style="document"/>
             <wsdl:input>
@@ -1553,6 +1562,18 @@
                 <soap:fault use="literal" name="CloudControllerServiceNonExistingKubernetesGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="terminateContainers">
+            <soap:operation soapAction="urn:terminateContainers" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
+                <soap:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
+            </wsdl:fault>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <soap:operation soapAction="urn:getCartridgeInfo" style="document"/>
             <wsdl:input>
@@ -1580,17 +1601,14 @@
                 <soap:fault use="literal" name="CloudControllerServiceNonExistingKubernetesGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllContainers">
-            <soap:operation soapAction="urn:terminateAllContainers" style="document"/>
+        <wsdl:operation name="getKubernetesGroups">
+            <soap:operation soapAction="urn:getKubernetesGroups" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
             <wsdl:output>
                 <soap:body use="literal"/>
             </wsdl:output>
-            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
-                <soap:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
-            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="unregisterService">
             <soap:operation soapAction="urn:unregisterService" style="document"/>
@@ -1634,15 +1652,6 @@
                 <soap:fault use="literal" name="CloudControllerServiceNonExistingKubernetesHostException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllInstances">
-            <soap:operation soapAction="urn:terminateAllInstances" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
-                <soap:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
-            </wsdl:fault>
-        </wsdl:operation>
         <wsdl:operation name="unregisterDockerService">
             <soap:operation soapAction="urn:unregisterDockerService" style="document"/>
             <wsdl:input>
@@ -1652,15 +1661,6 @@
                 <soap:fault use="literal" name="CloudControllerServiceUnregisteredClusterException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getRegisteredCartridges">
-            <soap:operation soapAction="urn:getRegisteredCartridges" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="startInstance">
             <soap:operation soapAction="urn:startInstance" style="document"/>
             <wsdl:input>
@@ -1676,14 +1676,14 @@
                 <soap:fault use="literal" name="CloudControllerServiceUnregisteredCartridgeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getAllKubernetesGroups">
-            <soap:operation soapAction="urn:getAllKubernetesGroups" style="document"/>
+        <wsdl:operation name="terminateInstances">
+            <soap:operation soapAction="urn:terminateInstances" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
+            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
+                <soap:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
+            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="updateContainers">
             <soap:operation soapAction="urn:updateContainers" style="document"/>
@@ -1772,6 +1772,15 @@
     </wsdl:binding>
     <wsdl:binding name="CloudControllerServiceSoap12Binding" type="ns:CloudControllerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="getCartridges">
+            <soap12:operation soapAction="urn:getCartridges" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="addKubernetesGroup">
             <soap12:operation soapAction="urn:addKubernetesGroup" style="document"/>
             <wsdl:input>
@@ -1883,6 +1892,15 @@
                 <soap12:fault use="literal" name="CloudControllerServiceNonExistingKubernetesGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="addServiceGroup">
+            <soap12:operation soapAction="urn:addServiceGroup" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:fault name="CloudControllerServiceInvalidServiceGroupException">
+                <soap12:fault use="literal" name="CloudControllerServiceInvalidServiceGroupException"/>
+            </wsdl:fault>
+        </wsdl:operation>
         <wsdl:operation name="registerService">
             <soap12:operation soapAction="urn:registerService" style="document"/>
             <wsdl:input>
@@ -1895,15 +1913,6 @@
                 <soap12:fault use="literal" name="CloudControllerServiceUnregisteredCartridgeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="addServiceGroup">
-            <soap12:operation soapAction="urn:addServiceGroup" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceInvalidServiceGroupException">
-                <soap12:fault use="literal" name="CloudControllerServiceInvalidServiceGroupException"/>
-            </wsdl:fault>
-        </wsdl:operation>
         <wsdl:operation name="terminateInstance">
             <soap12:operation soapAction="urn:terminateInstance" style="document"/>
             <wsdl:input>
@@ -1964,6 +1973,18 @@
                 <soap12:fault use="literal" name="CloudControllerServiceNonExistingKubernetesGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="terminateContainers">
+            <soap12:operation soapAction="urn:terminateContainers" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
+                <soap12:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
+            </wsdl:fault>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <soap12:operation soapAction="urn:getCartridgeInfo" style="document"/>
             <wsdl:input>
@@ -1991,17 +2012,14 @@
                 <soap12:fault use="literal" name="CloudControllerServiceNonExistingKubernetesGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllContainers">
-            <soap12:operation soapAction="urn:terminateAllContainers" style="document"/>
+        <wsdl:operation name="getKubernetesGroups">
+            <soap12:operation soapAction="urn:getKubernetesGroups" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
             <wsdl:output>
                 <soap12:body use="literal"/>
             </wsdl:output>
-            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
-                <soap12:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
-            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="unregisterService">
             <soap12:operation soapAction="urn:unregisterService" style="document"/>
@@ -2045,15 +2063,6 @@
                 <soap12:fault use="literal" name="CloudControllerServiceNonExistingKubernetesHostException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllInstances">
-            <soap12:operation soapAction="urn:terminateAllInstances" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
-                <soap12:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
-            </wsdl:fault>
-        </wsdl:operation>
         <wsdl:operation name="unregisterDockerService">
             <soap12:operation soapAction="urn:unregisterDockerService" style="document"/>
             <wsdl:input>
@@ -2063,15 +2072,6 @@
                 <soap12:fault use="literal" name="CloudControllerServiceUnregisteredClusterException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getRegisteredCartridges">
-            <soap12:operation soapAction="urn:getRegisteredCartridges" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="startInstance">
             <soap12:operation soapAction="urn:startInstance" style="document"/>
             <wsdl:input>
@@ -2087,14 +2087,14 @@
                 <soap12:fault use="literal" name="CloudControllerServiceUnregisteredCartridgeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getAllKubernetesGroups">
-            <soap12:operation soapAction="urn:getAllKubernetesGroups" style="document"/>
+        <wsdl:operation name="terminateInstances">
+            <soap12:operation soapAction="urn:terminateInstances" style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
+            <wsdl:fault name="CloudControllerServiceInvalidClusterException">
+                <soap12:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
+            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="updateContainers">
             <soap12:operation soapAction="urn:updateContainers" style="document"/>
@@ -2183,6 +2183,15 @@
     </wsdl:binding>
     <wsdl:binding name="CloudControllerServiceHttpBinding" type="ns:CloudControllerServicePortType">
         <http:binding verb="POST"/>
+        <wsdl:operation name="getCartridges">
+            <http:operation location="getCartridges"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="addKubernetesGroup">
             <http:operation location="addKubernetesGroup"/>
             <wsdl:input>
@@ -2261,6 +2270,12 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
+        <wsdl:operation name="addServiceGroup">
+            <http:operation location="addServiceGroup"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="registerService">
             <http:operation location="registerService"/>
             <wsdl:input>
@@ -2270,12 +2285,6 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="addServiceGroup">
-            <http:operation location="addServiceGroup"/>
-            <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:input>
-        </wsdl:operation>
         <wsdl:operation name="terminateInstance">
             <http:operation location="terminateInstance"/>
             <wsdl:input>
@@ -2318,6 +2327,15 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
+        <wsdl:operation name="terminateContainers">
+            <http:operation location="terminateContainers"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <http:operation location="getCartridgeInfo"/>
             <wsdl:input>
@@ -2336,8 +2354,8 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllContainers">
-            <http:operation location="terminateAllContainers"/>
+        <wsdl:operation name="getKubernetesGroups">
+            <http:operation location="getKubernetesGroups"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
@@ -2375,27 +2393,12 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="terminateAllInstances">
-            <http:operation location="terminateAllInstances"/>
-            <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:input>
-        </wsdl:operation>
         <wsdl:operation name="unregisterDockerService">
             <http:operation location="unregisterDockerService"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="getRegisteredCartridges">
-            <http:operation location="getRegisteredCartridges"/>
-            <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:input>
-            <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="startInstance">
             <http:operation location="startInstance"/>
             <wsdl:input>
@@ -2405,14 +2408,11 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getAllKubernetesGroups">
-            <http:operation location="getAllKubernetesGroups"/>
+        <wsdl:operation name="terminateInstances">
+            <http:operation location="terminateInstances"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
-            <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
-            </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="updateContainers">
             <http:operation location="updateContainers"/>