You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2013/12/04 18:29:08 UTC

[1/3] git commit: implementing STRATOS-252 - Cartridge deployment API in Cloud Controller

Updated Branches:
  refs/heads/master 7c51d0418 -> 0e94cb7ed


implementing STRATOS-252 - Cartridge deployment API in Cloud Controller


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

Branch: refs/heads/master
Commit: a21bf19f6437064b6680e0046a4b0625328d3a3c
Parents: bb68f23
Author: Nirmal Fernando <ni...@apache.org>
Authored: Wed Dec 4 22:55:29 2013 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Wed Dec 4 22:55:29 2013 +0530

----------------------------------------------------------------------
 .../impl/CloudControllerServiceImpl.java        | 136 ++++++++----
 .../interfaces/CloudControllerService.java      |   8 +
 .../cloud/controller/pojo/Cartridge.java        |   6 +
 .../cloud/controller/pojo/CartridgeConfig.java  | 211 +++++++++++++++++++
 .../cloud/controller/pojo/IaasConfig.java       | 151 +++++++++++++
 .../cloud/controller/pojo/IaasProvider.java     |  48 ++---
 .../controller/util/CloudControllerUtil.java    | 101 +++++++++
 7 files changed, 587 insertions(+), 74 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index 97c967d..958ba46 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@ -23,8 +23,10 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.concurrent.ThreadExecutor;
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
 import org.apache.stratos.cloud.controller.exception.CloudControllerException;
+import org.apache.stratos.cloud.controller.exception.InvalidCartridgeDefinitionException;
 import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
 import org.apache.stratos.cloud.controller.exception.InvalidClusterException;
+import org.apache.stratos.cloud.controller.exception.InvalidIaasProviderException;
 import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
 import org.apache.stratos.cloud.controller.exception.InvalidPartitionException;
 import org.apache.stratos.cloud.controller.exception.UnregisteredCartridgeException;
@@ -33,6 +35,7 @@ import org.apache.stratos.cloud.controller.interfaces.CloudControllerService;
 import org.apache.stratos.cloud.controller.interfaces.Iaas;
 import org.apache.stratos.cloud.controller.persist.Deserializer;
 import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 import org.apache.stratos.cloud.controller.pojo.ClusterContext;
 import org.apache.stratos.cloud.controller.pojo.IaasProvider;
@@ -276,6 +279,57 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 		}
 	}
 
+    public void deployCartridgeDefinition(CartridgeConfig cartridgeConfig) throws InvalidCartridgeDefinitionException, InvalidIaasProviderException {
+
+        if (cartridgeConfig == null) {
+            String msg = "Invalid Cartridge Definition: Definition is null.";
+            log.error(msg);
+            throw new IllegalArgumentException(msg);
+
+        }
+
+        Cartridge cartridge = null;
+        try {
+            cartridge = CloudControllerUtil.toCartridge(cartridgeConfig);
+        } catch (Exception e) {
+            String msg =
+                         "Invalid Cartridge Definition: Cartridge Type: " +
+                                 cartridgeConfig.getType();
+            log.error(msg, e);
+            throw new InvalidCartridgeDefinitionException(msg, e);
+        }
+
+        for (IaasProvider iaasProvider : cartridge.getIaases()) {
+            try {
+                Iaas iaas = (Iaas) Class.forName(iaasProvider.getClassName()).newInstance();
+                iaas.buildComputeServiceAndTemplate(iaasProvider);
+                iaasProvider.setIaas(iaas);
+
+            } catch (Exception e) {
+                String msg =
+                             "Unable to build the jclouds object for iaas " + "of type: " +
+                                     iaasProvider.getType();
+                log.error(msg, e);
+                throw new InvalidIaasProviderException(msg, e);
+            }
+        }
+        
+        // TODO transaction begins
+        dataHolder.addCartridge(cartridge);
+
+        List<Cartridge> cartridgeList = new ArrayList<Cartridge>();
+        cartridgeList.add(cartridge);
+
+        TopologyBuilder.handleServiceCreated(cartridgeList);
+        // transaction ends
+        
+        log.info("Successfully deployed the Cartridge definition: " + cartridge.getType());
+    }
+
+    public void undeployCartridgeDefinition(String cartridgeType) {
+
+    }
+    
     @Override
     public MemberContext startInstance(MemberContext member) throws IllegalArgumentException,
         UnregisteredCartridgeException {
@@ -875,47 +929,47 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 
 	}
 
-	/**
-	 * Comparator to compare {@link IaasProvider} on different attributes.
-	 */
-	public enum IaasProviderComparator implements Comparator<IaasProvider> {
-		SCALE_UP_SORT {
-			public int compare(IaasProvider o1, IaasProvider o2) {
-				return Integer.valueOf(o1.getScaleUpOrder()).compareTo(
-						o2.getScaleUpOrder());
-			}
-		},
-		SCALE_DOWN_SORT {
-			public int compare(IaasProvider o1, IaasProvider o2) {
-				return Integer.valueOf(o1.getScaleDownOrder()).compareTo(
-						o2.getScaleDownOrder());
-			}
-		};
-
-		public static Comparator<IaasProvider> ascending(
-				final Comparator<IaasProvider> other) {
-			return new Comparator<IaasProvider>() {
-				public int compare(IaasProvider o1, IaasProvider o2) {
-					return other.compare(o1, o2);
-				}
-			};
-		}
-
-		public static Comparator<IaasProvider> getComparator(
-				final IaasProviderComparator... multipleOptions) {
-			return new Comparator<IaasProvider>() {
-				public int compare(IaasProvider o1, IaasProvider o2) {
-					for (IaasProviderComparator option : multipleOptions) {
-						int result = option.compare(o1, o2);
-						if (result != 0) {
-							return result;
-						}
-					}
-					return 0;
-				}
-			};
-		}
-	}
+//	/**
+//	 * Comparator to compare {@link IaasProvider} on different attributes.
+//	 */
+//	public enum IaasProviderComparator implements Comparator<IaasProvider> {
+//		SCALE_UP_SORT {
+//			public int compare(IaasProvider o1, IaasProvider o2) {
+//				return Integer.valueOf(o1.getScaleUpOrder()).compareTo(
+//						o2.getScaleUpOrder());
+//			}
+//		},
+//		SCALE_DOWN_SORT {
+//			public int compare(IaasProvider o1, IaasProvider o2) {
+//				return Integer.valueOf(o1.getScaleDownOrder()).compareTo(
+//						o2.getScaleDownOrder());
+//			}
+//		};
+//
+//		public static Comparator<IaasProvider> ascending(
+//				final Comparator<IaasProvider> other) {
+//			return new Comparator<IaasProvider>() {
+//				public int compare(IaasProvider o1, IaasProvider o2) {
+//					return other.compare(o1, o2);
+//				}
+//			};
+//		}
+//
+//		public static Comparator<IaasProvider> getComparator(
+//				final IaasProviderComparator... multipleOptions) {
+//			return new Comparator<IaasProvider>() {
+//				public int compare(IaasProvider o1, IaasProvider o2) {
+//					for (IaasProviderComparator option : multipleOptions) {
+//						int result = option.compare(o1, o2);
+//						if (result != 0) {
+//							return result;
+//						}
+//					}
+//					return 0;
+//				}
+//			};
+//		}
+//	}
 
 	@Override
 	public boolean registerService(Registrant registrant)

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
index 2784eb8..30a3d82 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
@@ -19,12 +19,15 @@
 package org.apache.stratos.cloud.controller.interfaces;
 
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+import org.apache.stratos.cloud.controller.exception.InvalidCartridgeDefinitionException;
 import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
 import org.apache.stratos.cloud.controller.exception.InvalidClusterException;
+import org.apache.stratos.cloud.controller.exception.InvalidIaasProviderException;
 import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
 import org.apache.stratos.cloud.controller.exception.InvalidPartitionException;
 import org.apache.stratos.cloud.controller.exception.UnregisteredCartridgeException;
 import org.apache.stratos.cloud.controller.exception.UnregisteredClusterException;
+import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 import org.apache.stratos.cloud.controller.pojo.MemberContext;
 import org.apache.stratos.cloud.controller.pojo.Registrant;
@@ -35,6 +38,11 @@ import org.apache.stratos.cloud.controller.pojo.Registrant;
  * 
  */
 public interface CloudControllerService {
+    
+    public void deployCartridgeDefinition(CartridgeConfig cartridgeConfig) 
+            throws InvalidCartridgeDefinitionException, InvalidIaasProviderException;
+    
+    public void undeployCartridgeDefinition(String cartridgeType);
 
     /**
      * Validate a given {@link Partition} for basic property existence.

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
index 0062403..a339b2e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
@@ -109,6 +109,12 @@ public class Cartridge implements Serializable{
     public IaasProvider getIaasProviderOfPartition(String partitionId) {
         return partitionToIaasProvider.get(partitionId);
     }
+    
+    public void addProperty(String key, String val) {
+        if (key != null && val != null) {
+            properties.put(key, val);
+        }
+    }
 
     public Map<String, String> getProperties() {
         return properties;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeConfig.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeConfig.java
new file mode 100644
index 0000000..6584bd6
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeConfig.java
@@ -0,0 +1,211 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.cloud.controller.pojo;
+
+import java.io.Serializable;
+
+/**
+ * This class is used as the pojo for supporting the service at CC,
+ * which is called by the Rest API in SM to deploy a cartridge definition
+ */
+public class CartridgeConfig implements Serializable {
+
+    private static final long serialVersionUID = 3455721779991902731L;
+
+    private String type;
+
+    private String hostName;
+
+    private String provider;
+
+    private String displayName;
+
+    private String description;
+
+    private String version;
+
+    private boolean multiTenant;
+
+    private String baseDir;
+
+    private String[] deploymentDirs;
+
+    private PortMapping[] portMappings;
+
+    private Properties properties;
+
+    private IaasConfig[] iaasConfigs;
+
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getHostName() {
+        return hostName;
+    }
+
+    public void setHostName(String hostName) {
+        this.hostName = hostName;
+    }
+
+    public String getProvider() {
+        return provider;
+    }
+
+    public void setProvider(String provider) {
+        this.provider = provider;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+    public boolean isMultiTenant() {
+        return multiTenant;
+    }
+
+    public void setMultiTenant(boolean multiTenant) {
+        this.multiTenant = multiTenant;
+    }
+
+    public String getBaseDir() {
+        return baseDir;
+    }
+
+    public void setBaseDir(String baseDir) {
+        this.baseDir = baseDir;
+    }
+
+    public String[] getDeploymentDirs() {
+        return deploymentDirs;
+    }
+
+    public void setDeploymentDirs(String[] deploymentDirs) {
+        this.deploymentDirs = deploymentDirs;
+    }
+
+    public PortMapping[] getPortMappings() {
+        return portMappings;
+    }
+
+    public void setPortMappings(PortMapping[] portMappings) {
+        this.portMappings = portMappings;
+    }
+
+    public Properties getProperties() {
+        return properties;
+    }
+
+    public void setProperties(Properties properties) {
+        this.properties = properties;
+    }
+
+    public IaasConfig[] getIaasConfigs() {
+        return iaasConfigs;
+    }
+
+    public void setIaasConfigs(IaasConfig[] iaasConfigs) {
+        this.iaasConfigs = iaasConfigs;
+    }
+
+    public String toString () {
+
+        return "Type: " + type + ", Provider: " + provider + ", Host: " + hostName + ", Display Name: " + displayName +
+                ", Description: " + description +  ", Version: " + version + ", Multitenant " + multiTenant +
+                "\n Deployment: " + getDeploymentDetails() + "\n PortMapping: " + getPortMappingDetails() +
+                "\n IaaS: " +  getIaasConfigDetails() + "\n Properties: " + getPropertyDetails();
+    }
+
+    private String getDeploymentDetails () {
+
+        StringBuilder deploymentDetailBuilder = new StringBuilder();
+        deploymentDetailBuilder.append("Base direcotry: " + baseDir);
+        if(deploymentDirs.length > 0) {
+            deploymentDetailBuilder.append(" Direcotries: ");
+            for (String directory : deploymentDirs) {
+                deploymentDetailBuilder.append(directory + " | ");
+            }
+        }
+
+        return  deploymentDetailBuilder.toString();
+    }
+
+    private String getPortMappingDetails () {
+
+        StringBuilder portMappingDetailBuilder = new StringBuilder();
+        if(portMappings.length > 0) {
+            for (PortMapping portMapping : portMappings) {
+                portMappingDetailBuilder.append(portMapping.toString() + " | ");
+            }
+        }
+        return portMappingDetailBuilder.toString();
+    }
+
+    private String getIaasConfigDetails () {
+
+        StringBuilder iaasConfigDetailBuilder = new StringBuilder();
+        if(iaasConfigs.length > 0) {
+            for (IaasConfig iaasConfig : iaasConfigs) {
+                iaasConfigDetailBuilder.append(iaasConfig.toString() + " | ");
+            }
+        }
+        return iaasConfigDetailBuilder.toString();
+    }
+
+    private String getPropertyDetails () {
+
+        StringBuilder propertyDetailBuilder = new StringBuilder();
+        if(properties != null) {
+            Property[] propertyArray = properties.getProperties();
+            if (propertyArray.length > 0) {
+                for (Property property : propertyArray) {
+                    propertyDetailBuilder.append(property.toString() + " | ");
+                }
+            }
+        }
+        return propertyDetailBuilder.toString();
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasConfig.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasConfig.java
new file mode 100644
index 0000000..b20f2d3
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasConfig.java
@@ -0,0 +1,151 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.cloud.controller.pojo;
+
+import java.io.Serializable;
+
+/**
+ * This class is used to support <link>CartridgeConfig</link>
+ * class for the Rest API
+ */
+public class IaasConfig implements Serializable {
+
+    private static final long serialVersionUID = 3329046207651171707L;
+
+    private String type;
+   
+    private String className;
+   
+    private String name;
+   
+    private String provider, identity, credential;
+   
+    private String imageId;
+
+    private int maxInstanceLimit;
+
+    private Properties properties;
+    
+    private byte[] payload;
+
+    public String getClassName() {
+        return className;
+    }
+    
+    public void setClassName(String className) {
+        this.className = className;
+    }
+    
+    public String getName() {
+        return name;
+    }
+    
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+    public String getProvider() {
+        return provider;
+    }
+    
+    public void setProvider(String provider) {
+        this.provider = provider;
+    }
+    
+    public String getIdentity() {
+        return identity;
+    }
+    
+    public void setIdentity(String identity) {
+        this.identity = identity;
+    }
+    
+    public String getCredential() {
+        return credential;
+    }
+    
+    public void setCredential(String credential) {
+        this.credential = credential;
+    }
+    
+    public byte[] getPayload() {
+        return payload;
+    }
+    
+    public void setPayload(byte[] payload) {
+        this.payload = payload;
+    }
+    
+    public static long getSerialversionuid() {
+        return serialVersionUID;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getImageId() {
+        return imageId;
+    }
+
+    public void setImageId(String imageId) {
+        this.imageId = imageId;
+    }
+
+    public int getMaxInstanceLimit() {
+        return maxInstanceLimit;
+    }
+
+    public void setMaxInstanceLimit(int maxInstanceLimit) {
+        this.maxInstanceLimit = maxInstanceLimit;
+    }
+
+    public Properties getProperties() {
+        return properties;
+    }
+
+    public void setProperties(Properties properties) {
+        this.properties = properties;
+    }
+
+    public String toString () {
+
+        return " [ Type: " + type + ", Image Id: " + imageId + ", Max Instance Limit: " + maxInstanceLimit +
+                " Properties: " + getIaasProperties() + " ] ";
+    }
+
+    private String getIaasProperties () {
+
+        StringBuilder iaasPropertyBuilder = new StringBuilder();
+        if (properties != null) {
+            Property [] propertyArray = properties.getProperties();
+            if(propertyArray.length > 0) {
+                for (Property property : propertyArray) {
+                    iaasPropertyBuilder.append(property.toString() + " | ");
+                }
+            }
+        }
+        return iaasPropertyBuilder.toString();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
index 449e2d9..41fe61e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
@@ -60,12 +60,6 @@ public class IaasProvider implements Serializable{
      */
     private String image;
     
-
-    /**
-     * Scale up order and scale down order of the IaaS.
-     */
-    private int scaleUpOrder = -1, scaleDownOrder = -1;
-    
     private String provider, identity, credential;
     
     private transient ComputeService computeService;
@@ -87,15 +81,13 @@ public class IaasProvider implements Serializable{
     	this.className = anIaasProvider.getClassName();
     	this.properties = anIaasProvider.getProperties();
     	this.image = anIaasProvider.getImage();
-    	this.scaleUpOrder = anIaasProvider.getScaleUpOrder();
-    	this.scaleDownOrder = anIaasProvider.getScaleDownOrder();
     	this.provider = anIaasProvider.getProvider();
     	this.identity = anIaasProvider.getIdentity();
     	this.credential = anIaasProvider.getCredential();
     	this.computeService = anIaasProvider.getComputeService();
     	this.template = anIaasProvider.getTemplate();
-    	this.payload = anIaasProvider.getPayload();
     	this.iaas = anIaasProvider.getIaas();
+    	this.payload = anIaasProvider.getPayload();
     }
     
     public String getType() {
@@ -114,6 +106,12 @@ public class IaasProvider implements Serializable{
         return properties;
     }
     
+    public void addProperty(String key, String val) {
+        if (key != null && val != null) {
+            properties.put(key, val);
+        }
+    }
+    
     public void setProperty(String key, String value) {
         
         if(key != null && value != null){
@@ -133,22 +131,6 @@ public class IaasProvider implements Serializable{
         this.image = image;
     }
 
-    public int getScaleUpOrder() {
-        return scaleUpOrder;
-    }
-
-    public void setScaleUpOrder(int scaleUpOrder) {
-        this.scaleUpOrder = scaleUpOrder;
-    }
-
-    public int getScaleDownOrder() {
-        return scaleDownOrder;
-    }
-
-    public void setScaleDownOrder(int scaleDownOrder) {
-        this.scaleDownOrder = scaleDownOrder;
-    }
-
     public String getName() {
         return name;
     }
@@ -225,14 +207,6 @@ public class IaasProvider implements Serializable{
         this.className = className;
     }
 
-    public byte [] getPayload() {
-        return payload;
-    }
-
-    public void setPayload(byte[]payload) {
-        this.payload = payload;
-    }
-
     public Iaas getIaas() {
         return iaas;
     }
@@ -247,4 +221,12 @@ public class IaasProvider implements Serializable{
 //    	toBeRemovedNodeIds = new ArrayList<String>();
     }
 
+    public byte[] getPayload() {
+        return payload;
+    }
+
+    public void setPayload(byte[] payload) {
+        this.payload = payload;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a21bf19f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
index 22e5903..1b0277c 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
@@ -24,13 +24,19 @@ import org.apache.stratos.cloud.controller.exception.CloudControllerException;
 import org.apache.stratos.cloud.controller.persist.Deserializer;
 import org.apache.stratos.cloud.controller.pojo.AppType;
 import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+import org.apache.stratos.cloud.controller.pojo.IaasConfig;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
 import org.apache.stratos.cloud.controller.pojo.PortMapping;
 import org.apache.stratos.cloud.controller.pojo.Property;
 import org.apache.stratos.cloud.controller.registry.RegistryManager;
+import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
 import org.apache.stratos.messaging.domain.topology.Topology;
 import org.wso2.carbon.registry.core.exceptions.RegistryException;
 
+import edu.emory.mathcs.backport.java.util.Arrays;
+
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -38,9 +44,104 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Properties;
 
+
 public class CloudControllerUtil {
 	private static final Log log = LogFactory.getLog(CloudControllerUtil.class);
 
+    @SuppressWarnings("unchecked")
+    public static Cartridge toCartridge(CartridgeConfig config) {
+        if (config == null) {
+            return null;
+        }
+        Cartridge cartridge = new Cartridge();
+        cartridge.setType(config.getType());
+        cartridge.setDisplayName(config.getDisplayName());
+        cartridge.setDescription(config.getDescription());
+        cartridge.setHostName(config.getHostName());
+        cartridge.setDeploymentDirs(Arrays.asList(config.getDeploymentDirs()));
+        cartridge.setProvider(config.getProvider());
+        cartridge.setVersion(config.getVersion());
+        cartridge.setBaseDir(config.getBaseDir());
+        cartridge.setPortMappings(Arrays.asList(config.getPortMappings()));
+        cartridge.setMultiTenant(config.isMultiTenant());
+
+        org.apache.stratos.cloud.controller.pojo.Properties props = config.getProperties();
+        if (props != null) {
+            for (Property prop : props.getProperties()) {
+                cartridge.addProperty(prop.getName(), prop.getValue());
+            }
+        }
+
+        List<IaasProvider> iaases = FasterLookUpDataHolder.getInstance().getIaasProviders();
+
+        IaasConfig[] iaasConfigs = config.getIaasConfigs();
+        if (iaasConfigs != null) {
+            for (IaasConfig iaasConfig : iaasConfigs) {
+                if (iaasConfig != null) {
+                    IaasProvider iaasProvider = null;
+                    if (iaases != null) {
+                        // check whether this is a reference to a predefined IaaS.
+                        for (IaasProvider iaas : iaases) {
+                            if (iaas.getType().equals(iaasConfig.getType())) {
+                                iaasProvider = new IaasProvider(iaas);
+                                break;
+                            }
+                        }
+                    }
+
+                    if (iaasProvider == null) {
+                        iaasProvider = new IaasProvider();
+                        iaasProvider.setType(iaasConfig.getType());
+                    }
+
+                    String className = iaasConfig.getClassName();
+                    if (className != null) {
+                        iaasProvider.setClassName(className);
+                    }
+
+                    String name = iaasConfig.getName();
+                    if (name != null) {
+                        iaasProvider.setName(name);
+                    }
+
+                    String identity = iaasConfig.getIdentity();
+                    if (identity != null) {
+                        iaasProvider.setIdentity(identity);
+                    }
+
+                    String credential = iaasConfig.getCredential();
+                    if (credential != null) {
+                        iaasProvider.setCredential(credential);
+                    }
+
+                    String provider = iaasConfig.getProvider();
+                    if (provider != null) {
+                        iaasProvider.setProvider(provider);
+                    }
+                    String imageId = iaasConfig.getImageId();
+                    if (imageId != null) {
+                        iaasProvider.setImage(imageId);
+                    }
+                    
+                    byte[] payload = iaasConfig.getPayload();
+                    if (payload != null) {
+                        iaasProvider.setPayload(payload);
+                    }
+
+                    org.apache.stratos.cloud.controller.pojo.Properties props1 =
+                                                                                 config.getProperties();
+                    if (props1 != null) {
+                        for (Property prop : props1.getProperties()) {
+                            iaasProvider.addProperty(prop.getName(), prop.getValue());
+                        }
+                    }
+                }
+            }
+        }
+
+        return cartridge;
+    }
+	  
     public static CartridgeInfo toCartridgeInfo(Cartridge cartridge) {
 
 		CartridgeInfo carInfo = new CartridgeInfo();


[2/3] git commit: changes to CC wsdl

Posted by ni...@apache.org.
changes to CC wsdl


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

Branch: refs/heads/master
Commit: bebab46100d14a8f216404cf374e1ab7dfd3512f
Parents: a21bf19
Author: Nirmal Fernando <ni...@apache.org>
Authored: Wed Dec 4 22:57:35 2013 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Wed Dec 4 22:57:35 2013 +0530

----------------------------------------------------------------------
 .../main/resources/CloudControllerService.wsdl  | 144 ++++++++++++++++++-
 1 file changed, 138 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/bebab461/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 8dd1cf5..0267908 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
@@ -22,6 +22,12 @@
             <xs:complexType name="UnregisteredCartridgeException">
                 <xs:sequence/>
             </xs:complexType>
+            <xs:complexType name="InvalidCartridgeDefinitionException">
+                <xs:sequence/>
+            </xs:complexType>
+            <xs:complexType name="InvalidIaasProviderException">
+                <xs:sequence/>
+            </xs:complexType>
         </xs:schema>
         <xs:schema xmlns:ax28="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" xmlns:ax210="http://pojo.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.controller.cloud.stratos.apache.org">
             <xs:import namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/>
@@ -84,6 +90,13 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="undeployCartridgeDefinition">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="CloudControllerServiceInvalidMemberException">
                 <xs:complexType>
                     <xs:sequence>
@@ -180,6 +193,27 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax23:InvalidCartridgeDefinitionException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax23:InvalidIaasProviderException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="deployCartridgeDefinition">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax210:CartridgeConfig"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
         </xs:schema>
         <xs:schema xmlns:ax29="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.controller.cloud.stratos.apache.org/xsd">
             <xs:import namespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd"/>
@@ -247,6 +281,36 @@
                     <xs:element minOccurs="0" name="proxyPort" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="CartridgeConfig">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="deploymentDirs" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax26:IaasConfig"/>
+                    <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax26:PortMapping"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax26:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="version" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="IaasConfig">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="className" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="credential" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="identity" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="maxInstanceLimit" type="xs:int"/>
+                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:base64Binary"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax26:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
         <xs:schema xmlns:ax27="http://pojo.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd">
             <xs:import namespace="http://pojo.controller.cloud.stratos.apache.org/xsd"/>
@@ -297,6 +361,15 @@
     <wsdl:message name="CloudControllerServiceUnregisteredCartridgeException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceUnregisteredCartridgeException"/>
     </wsdl:message>
+    <wsdl:message name="deployCartridgeDefinitionRequest">
+        <wsdl:part name="parameters" element="ns:deployCartridgeDefinition"/>
+    </wsdl:message>
+    <wsdl:message name="CloudControllerServiceInvalidCartridgeDefinitionException">
+        <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidCartridgeDefinitionException"/>
+    </wsdl:message>
+    <wsdl:message name="CloudControllerServiceInvalidIaasProviderException">
+        <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidIaasProviderException"/>
+    </wsdl:message>
     <wsdl:message name="getCartridgeInfoRequest">
         <wsdl:part name="parameters" element="ns:getCartridgeInfo"/>
     </wsdl:message>
@@ -309,6 +382,9 @@
     <wsdl:message name="CloudControllerServiceUnregisteredClusterException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceUnregisteredClusterException"/>
     </wsdl:message>
+    <wsdl:message name="undeployCartridgeDefinitionRequest">
+        <wsdl:part name="parameters" element="ns:undeployCartridgeDefinition"/>
+    </wsdl:message>
     <wsdl:message name="terminateAllInstancesRequest">
         <wsdl:part name="parameters" element="ns:terminateAllInstances"/>
     </wsdl:message>
@@ -351,6 +427,11 @@
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredCartridgeException" name="CloudControllerServiceUnregisteredCartridgeException" wsaw:Action="urn:registerServiceCloudControllerServiceUnregisteredCartridgeException"/>
             <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:registerServiceCloudControllerServiceIllegalArgumentException"/>
         </wsdl:operation>
+        <wsdl:operation name="deployCartridgeDefinition">
+            <wsdl:input message="ns:deployCartridgeDefinitionRequest" wsaw:Action="urn:deployCartridgeDefinition"/>
+            <wsdl:fault message="ns:CloudControllerServiceInvalidCartridgeDefinitionException" name="CloudControllerServiceInvalidCartridgeDefinitionException" wsaw:Action="urn:deployCartridgeDefinitionCloudControllerServiceInvalidCartridgeDefinitionException"/>
+            <wsdl:fault message="ns:CloudControllerServiceInvalidIaasProviderException" name="CloudControllerServiceInvalidIaasProviderException" wsaw:Action="urn:deployCartridgeDefinitionCloudControllerServiceInvalidIaasProviderException"/>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <wsdl:input message="ns:getCartridgeInfoRequest" wsaw:Action="urn:getCartridgeInfo"/>
             <wsdl:output message="ns:getCartridgeInfoResponse" wsaw:Action="urn:getCartridgeInfoResponse"/>
@@ -360,6 +441,9 @@
             <wsdl:input message="ns:unregisterServiceRequest" wsaw:Action="urn:unregisterService"/>
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredClusterException" name="CloudControllerServiceUnregisteredClusterException" wsaw:Action="urn:unregisterServiceCloudControllerServiceUnregisteredClusterException"/>
         </wsdl:operation>
+        <wsdl:operation name="undeployCartridgeDefinition">
+            <wsdl:input message="ns:undeployCartridgeDefinitionRequest" wsaw:Action="urn:undeployCartridgeDefinition"/>
+        </wsdl:operation>
         <wsdl:operation name="terminateAllInstances">
             <wsdl:input message="ns:terminateAllInstancesRequest" wsaw:Action="urn:terminateAllInstances"/>
             <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:terminateAllInstancesCloudControllerServiceIllegalArgumentException"/>
@@ -435,6 +519,18 @@
                 <soap:fault use="literal" name="CloudControllerServiceInvalidCartridgeTypeException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="deployCartridgeDefinition">
+            <soap:operation soapAction="urn:deployCartridgeDefinition" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:fault name="CloudControllerServiceInvalidCartridgeDefinitionException">
+                <soap:fault use="literal" name="CloudControllerServiceInvalidCartridgeDefinitionException"/>
+            </wsdl:fault>
+            <wsdl:fault name="CloudControllerServiceInvalidIaasProviderException">
+                <soap:fault use="literal" name="CloudControllerServiceInvalidIaasProviderException"/>
+            </wsdl:fault>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <soap:operation soapAction="urn:getCartridgeInfo" style="document"/>
             <wsdl:input>
@@ -456,6 +552,12 @@
                 <soap:fault use="literal" name="CloudControllerServiceUnregisteredClusterException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="undeployCartridgeDefinition">
+            <soap:operation soapAction="urn:undeployCartridgeDefinition" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="terminateAllInstances">
             <soap:operation soapAction="urn:terminateAllInstances" style="document"/>
             <wsdl:input>
@@ -552,6 +654,18 @@
                 <soap12:fault use="literal" name="CloudControllerServiceInvalidCartridgeTypeException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="deployCartridgeDefinition">
+            <soap12:operation soapAction="urn:deployCartridgeDefinition" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:fault name="CloudControllerServiceInvalidCartridgeDefinitionException">
+                <soap12:fault use="literal" name="CloudControllerServiceInvalidCartridgeDefinitionException"/>
+            </wsdl:fault>
+            <wsdl:fault name="CloudControllerServiceInvalidIaasProviderException">
+                <soap12:fault use="literal" name="CloudControllerServiceInvalidIaasProviderException"/>
+            </wsdl:fault>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <soap12:operation soapAction="urn:getCartridgeInfo" style="document"/>
             <wsdl:input>
@@ -573,6 +687,12 @@
                 <soap12:fault use="literal" name="CloudControllerServiceUnregisteredClusterException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="undeployCartridgeDefinition">
+            <soap12:operation soapAction="urn:undeployCartridgeDefinition" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="terminateAllInstances">
             <soap12:operation soapAction="urn:terminateAllInstances" style="document"/>
             <wsdl:input>
@@ -645,6 +765,12 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
+        <wsdl:operation name="deployCartridgeDefinition">
+            <http:operation location="deployCartridgeDefinition"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <http:operation location="getCartridgeInfo"/>
             <wsdl:input>
@@ -660,6 +786,12 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
+        <wsdl:operation name="undeployCartridgeDefinition">
+            <http:operation location="undeployCartridgeDefinition"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:input>
+        </wsdl:operation>
         <wsdl:operation name="terminateAllInstances">
             <http:operation location="terminateAllInstances"/>
             <wsdl:input>
@@ -687,22 +819,22 @@
     </wsdl:binding>
     <wsdl:service name="CloudControllerService">
         <wsdl:port name="CloudControllerServiceHttpSoap11Endpoint" binding="ns:CloudControllerServiceSoap11Binding">
-            <soap:address location="http://192.168.1.2:9764/services/CloudControllerService.CloudControllerServiceHttpSoap11Endpoint/"/>
+            <soap:address location="http://10.100.1.154:9764/services/CloudControllerService.CloudControllerServiceHttpSoap11Endpoint/"/>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpsSoap11Endpoint" binding="ns:CloudControllerServiceSoap11Binding">
-            <soap:address location="https://192.168.1.2:9444/services/CloudControllerService.CloudControllerServiceHttpsSoap11Endpoint/"/>
+            <soap:address location="https://10.100.1.154:9444/services/CloudControllerService.CloudControllerServiceHttpsSoap11Endpoint/"/>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpSoap12Endpoint" binding="ns:CloudControllerServiceSoap12Binding">
-            <soap12:address location="http://192.168.1.2:9764/services/CloudControllerService.CloudControllerServiceHttpSoap12Endpoint/"/>
+            <soap12:address location="http://10.100.1.154:9764/services/CloudControllerService.CloudControllerServiceHttpSoap12Endpoint/"/>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpsSoap12Endpoint" binding="ns:CloudControllerServiceSoap12Binding">
-            <soap12:address location="https://192.168.1.2:9444/services/CloudControllerService.CloudControllerServiceHttpsSoap12Endpoint/"/>
+            <soap12:address location="https://10.100.1.154:9444/services/CloudControllerService.CloudControllerServiceHttpsSoap12Endpoint/"/>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpEndpoint" binding="ns:CloudControllerServiceHttpBinding">
-            <http:address location="http://192.168.1.2:9764/services/CloudControllerService.CloudControllerServiceHttpEndpoint/"/>
+            <http:address location="http://10.100.1.154:9764/services/CloudControllerService.CloudControllerServiceHttpEndpoint/"/>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpsEndpoint" binding="ns:CloudControllerServiceHttpBinding">
-            <http:address location="https://192.168.1.2:9444/services/CloudControllerService.CloudControllerServiceHttpsEndpoint/"/>
+            <http:address location="https://10.100.1.154:9444/services/CloudControllerService.CloudControllerServiceHttpsEndpoint/"/>
         </wsdl:port>
     </wsdl:service>
 </wsdl:definitions>
\ No newline at end of file


[3/3] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by ni...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos


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

Branch: refs/heads/master
Commit: 0e94cb7edf97eb2f6e1c027b38db26258335022e
Parents: bebab46 7c51d04
Author: Nirmal Fernando <ni...@apache.org>
Authored: Wed Dec 4 22:58:22 2013 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Wed Dec 4 22:58:22 2013 +0530

----------------------------------------------------------------------
 .../mgt/listener/InstanceStatusListener.java    |  60 ++--
 .../stratos/autoscaler/AutoscalerContext.java   |   2 +-
 .../statistics/WSO2CEPStatsPublisher.java       |  10 +-
 .../load/balancer/LoadBalancerContext.java      |   2 +-
 .../internal/LoadBalancerServiceComponent.java  |   7 +-
 .../broker/publish/TopicPublisher.java          |   2 +-
 .../stream-manager-config.xml                   | 163 +++++++++
 .../cartridge-agent/ec2/php/cartridge-agent.sh  |  75 +---
 .../git/impl/GitBasedArtifactRepository.java    |  21 ++
 .../event/subscriber/ArtifactListener.java      |  57 ++-
 .../subscriber/CartridgeAgentConstants.java     |   3 +
 .../event/subscriber/LaunchParamsUtil.java      |  58 +++
 .../cartridge/agent/event/subscriber/Main.java  |  22 +-
 .../pom.xml                                     | 131 +++++++
 .../src/main/resources/AutoScalerService.wsdl   | 359 +++++++++++++++++++
 15 files changed, 823 insertions(+), 149 deletions(-)
----------------------------------------------------------------------