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 2014/10/01 14:18:31 UTC

[1/3] git commit: Committing half-way changes in testing deployCartridgeDefinition API.

Repository: stratos
Updated Branches:
  refs/heads/cc-unit-tests 46d085e30 -> edc6eca00
  refs/heads/master 4b39ed654 -> 2db1eeaf0


Committing half-way changes in testing deployCartridgeDefinition API.


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

Branch: refs/heads/cc-unit-tests
Commit: edc6eca000fb08470c64b6844e84c11d69843c17
Parents: 46d085e
Author: Nirmal Fernando <ni...@gmail.com>
Authored: Wed Oct 1 17:15:36 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Wed Oct 1 17:15:36 2014 +0530

----------------------------------------------------------------------
 .../impl/CloudControllerServiceImplTest.java    | 46 +++++++++++++++++++-
 1 file changed, 44 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/edc6eca0/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java
index 36c82c9..081a656 100644
--- a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java
+++ b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java
@@ -19,10 +19,18 @@
 package org.apache.stratos.cloud.controller.impl;
 
 import org.apache.stratos.cloud.controller.exception.InvalidCartridgeDefinitionException;
+import org.apache.stratos.cloud.controller.iaases.AWSEC2Iaas;
 import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
+import org.apache.stratos.cloud.controller.pojo.IaasConfig;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
 import org.apache.stratos.cloud.controller.registry.RegistryManager;
 import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.cloud.controller.util.ServiceReferenceHolder;
+import org.jclouds.aws.ec2.compute.AWSEC2TemplateOptions;
+import org.jclouds.compute.ComputeService;
+import org.jclouds.compute.domain.Template;
+import org.jclouds.ec2.compute.internal.EC2TemplateBuilderImpl;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.wso2.carbon.registry.core.session.UserRegistry;
@@ -35,7 +43,7 @@ import static org.mockito.Mockito.*;
  */
 public class CloudControllerServiceImplTest {
 	private static RegistryManager registry;
-	private static FasterLookUpDataHolder data ;
+	private static FasterLookUpDataHolder data;
 	private static ServiceReferenceHolder serviceRefHolder =
 			ServiceReferenceHolder.getInstance();
 	private static CloudControllerServiceImpl service;
@@ -51,9 +59,9 @@ public class CloudControllerServiceImplTest {
 		when(registry.retrieve()).thenReturn(null);
 		
 		data = mock(FasterLookUpDataHolder.class);
-		
 		service = new CloudControllerServiceImpl(true);
 		
+		
 	}
 	
 	@Test
@@ -68,5 +76,39 @@ public class CloudControllerServiceImplTest {
 			assertEquals("Invalid Cartridge Definition: Cartridge Type: php. "
 					+ "Cause: Iaases of this Cartridge is null or empty.", e.getMessage());
 		}
+		
+		IaasConfig iaasConfig = mock(IaasConfig.class);
+		when(iaasConfig.getType()).thenReturn("ec2");
+		when(iaasConfig.getClassName()).thenReturn(AWSEC2Iaas.class.getName());
+		when(iaasConfig.getProvider()).thenReturn("aws-ec2");
+		when(iaasConfig.getIdentity()).thenReturn("EC2_IDENTITY");
+		when(iaasConfig.getCredential()).thenReturn("EC2_CREDENTIAL");
+//		when(iaasConfig.getComputeService()).thenReturn(computeService);
+		when(iaasConfig.getImageId()).thenReturn("us-east-1/ami-623e940a");
+		cartridgeConfig.setIaasConfigs(new IaasConfig[]{iaasConfig});
+		
+		IaasProvider iaasProvider = mock(IaasProvider.class);
+		ComputeService computeService = mock(ComputeService.class); 
+		EC2TemplateBuilderImpl templateBuilder = mock(EC2TemplateBuilderImpl.class);
+		Template template = mock(Template.class);
+		CloudControllerUtil util = mock(CloudControllerUtil.class); 
+		
+		when(template.getOptions()).thenReturn(new AWSEC2TemplateOptions());
+		when(templateBuilder.build()).thenReturn(template);
+		when(computeService.templateBuilder()).thenReturn(templateBuilder);
+		
+		AWSEC2Iaas iaas = mock(AWSEC2Iaas.class);
+		doNothing().when(iaas).buildTemplate();
+		when(iaasProvider.getIaas()).thenReturn(iaas);
+		
+//		List<IaasProvider> iaases = new ArrayList<IaasProvider>();
+//		iaases.add(iaasProvider);
+//		data.setIaasProviders(iaases);
+//		when(data.getIaasProviders()).thenReturn(iaases);
+//		Iaas iaas = new AWSEC2Iaas(iaasProvider);
+//		doThrow(new RuntimeException()).when(iaasProvider).setIaas(iaas);
+		
+		service.deployCartridgeDefinition(cartridgeConfig);
+		
 	}
 }


[2/3] git commit: Remove commented code.

Posted by ni...@apache.org.
Remove commented code.


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

Branch: refs/heads/master
Commit: ac49040033ab2a2fb70b2d32e1b6c619bae0b70e
Parents: 4b39ed6
Author: Nirmal Fernando <ni...@gmail.com>
Authored: Wed Oct 1 17:36:50 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Wed Oct 1 17:36:59 2014 +0530

----------------------------------------------------------------------
 .../controller/functions/MemberContextToKubernetesContainer.java  | 3 ---
 1 file changed, 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/ac490400/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
index 4b69a97..1d1ecdc 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
@@ -80,9 +80,6 @@ public class MemberContextToKubernetesContainer implements Function<MemberContex
 	}
 
 	private Port[] getPorts(ClusterContext ctxt, Cartridge cartridge) {
-//		String kubernetesClusterId = CloudControllerUtil.getProperty(ctxt.getProperties(), 
-//        		StratosConstants.KUBERNETES_CLUSTER_ID);
-//		KubernetesClusterContext kubClusterContext = dataHolder.getKubernetesClusterContext(kubernetesClusterId);
 		Port[] ports = new Port[cartridge.getPortMappings().size()];
 		List<Port> portList = new ArrayList<Port>();
 		


[3/3] git commit: Formatting the code.

Posted by ni...@apache.org.
Formatting the code.


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

Branch: refs/heads/master
Commit: 2db1eeaf0faa9d07abc6b5b36349ae1d4219d1a9
Parents: ac49040
Author: Nirmal Fernando <ni...@gmail.com>
Authored: Wed Oct 1 17:48:11 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Wed Oct 1 17:48:11 2014 +0530

----------------------------------------------------------------------
 .../MemberContextToKubernetesContainer.java     | 196 +++++++++----------
 .../MemberContextToKubernetesService.java       |  37 ++--
 .../MemberContextToReplicationController.java   |  83 ++++----
 3 files changed, 157 insertions(+), 159 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/2db1eeaf/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
index 1d1ecdc..dd45b3e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
@@ -38,114 +38,110 @@ import org.apache.stratos.kubernetes.client.model.Port;
 import com.google.common.base.Function;
 
 /**
- *	Is responsible for converting a {@link MemberContext} object to a Kubernetes {@link Container}
- *	Object.
+ * Is responsible for converting a {@link MemberContext} object to a Kubernetes
+ * {@link Container} Object.
  */
-public class MemberContextToKubernetesContainer implements Function<MemberContext, Container>{
-	
-	private static final Log log = LogFactory.getLog(MemberContextToKubernetesContainer.class);
-	private FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
-
-	@Override
-	public Container apply(MemberContext memberContext) {
-		String clusterId = memberContext.getClusterId();
+public class MemberContextToKubernetesContainer implements Function<MemberContext, Container> {
+
+    private static final Log log = LogFactory.getLog(MemberContextToKubernetesContainer.class);
+    private FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
+
+    @Override
+    public Container apply(MemberContext memberContext) {
+        String clusterId = memberContext.getClusterId();
         ClusterContext clusterContext = dataHolder.getClusterContext(clusterId);
-        
-		Container container = new Container();
-		container.setName(getCompatibleName(clusterContext.getHostName()));
-
-		Cartridge cartridge = dataHolder.getCartridge(clusterContext
-				.getCartridgeType());
-		
-		if (cartridge == null) {
-			log.error("Cannot find a Cartridge of type : "
-					+ clusterContext.getCartridgeType());
-			return null;
-		}
-		
-		container.setImage(cartridge.getContainer().getImageName());
-
-		container.setPorts(getPorts(clusterContext, cartridge));
-		
-		container.setEnv(getEnvironmentVars(memberContext, clusterContext));
-
-		return container;
-	}
-	
-	private String getCompatibleName(String hostName) {
-		if (hostName.indexOf('.') != -1) {
-			hostName = hostName.replace('.', '-');
-		}
-		return hostName;
-	}
-
-	private Port[] getPorts(ClusterContext ctxt, Cartridge cartridge) {
-		Port[] ports = new Port[cartridge.getPortMappings().size()];
-		List<Port> portList = new ArrayList<Port>();
-		
-		for (PortMapping portMapping : cartridge.getPortMappings()) {
-			Port p = new Port();
-			p.setContainerPort(Integer.parseInt(portMapping.getPort()));
-			p.setHostPort(Integer.parseInt(portMapping.getPort()));
-			// In kubernetes transport protocol always be 'tcp'
-			p.setProtocol("tcp");
-			p.setName(p.getProtocol()+p.getContainerPort());
-			portList.add(p);
-		}
-		
-		return portList.toArray(ports);
-	}
-	
-	private EnvironmentVariable[] getEnvironmentVars(MemberContext memberCtxt, 
-			ClusterContext ctxt) {
-		
-		String kubernetesClusterId = CloudControllerUtil.getProperty(ctxt.getProperties(), 
-        		StratosConstants.KUBERNETES_CLUSTER_ID);
-		
-		List<EnvironmentVariable> envVars = new ArrayList<EnvironmentVariable>();
-		addToEnvironment(envVars, ctxt.getPayload());
-		//FIXME member id, should it be unique for a container?
-		addToEnvironment(envVars, StratosConstants.MEMBER_ID, memberCtxt.getMemberId());
-		addToEnvironment(envVars, StratosConstants.LB_CLUSTER_ID, memberCtxt.getLbClusterId());
-		addToEnvironment(envVars, StratosConstants.NETWORK_PARTITION_ID, memberCtxt.getNetworkPartitionId());
-		addToEnvironment(envVars, StratosConstants.KUBERNETES_CLUSTER_ID, kubernetesClusterId);
-        if(memberCtxt.getProperties() != null) {
-        	org.apache.stratos.cloud.controller.pojo.Properties props1 = memberCtxt.getProperties();
+
+        Container container = new Container();
+        container.setName(getCompatibleName(clusterContext.getHostName()));
+
+        Cartridge cartridge = dataHolder.getCartridge(clusterContext.getCartridgeType());
+
+        if (cartridge == null) {
+            log.error("Cannot find a Cartridge of type : " + clusterContext.getCartridgeType());
+            return null;
+        }
+
+        container.setImage(cartridge.getContainer().getImageName());
+
+        container.setPorts(getPorts(clusterContext, cartridge));
+
+        container.setEnv(getEnvironmentVars(memberContext, clusterContext));
+
+        return container;
+    }
+
+    private String getCompatibleName(String hostName) {
+        if (hostName.indexOf('.') != -1) {
+            hostName = hostName.replace('.', '-');
+        }
+        return hostName;
+    }
+
+    private Port[] getPorts(ClusterContext ctxt, Cartridge cartridge) {
+        Port[] ports = new Port[cartridge.getPortMappings().size()];
+        List<Port> portList = new ArrayList<Port>();
+
+        for (PortMapping portMapping : cartridge.getPortMappings()) {
+            Port p = new Port();
+            p.setContainerPort(Integer.parseInt(portMapping.getPort()));
+            p.setHostPort(Integer.parseInt(portMapping.getPort()));
+            // In kubernetes transport protocol always be 'tcp'
+            p.setProtocol("tcp");
+            p.setName(p.getProtocol() + p.getContainerPort());
+            portList.add(p);
+        }
+
+        return portList.toArray(ports);
+    }
+
+    private EnvironmentVariable[] getEnvironmentVars(MemberContext memberCtxt, ClusterContext ctxt) {
+
+        String kubernetesClusterId = CloudControllerUtil.getProperty(ctxt.getProperties(),
+                StratosConstants.KUBERNETES_CLUSTER_ID);
+
+        List<EnvironmentVariable> envVars = new ArrayList<EnvironmentVariable>();
+        addToEnvironment(envVars, ctxt.getPayload());
+        // FIXME member id, should it be unique for a container?
+        addToEnvironment(envVars, StratosConstants.MEMBER_ID, memberCtxt.getMemberId());
+        addToEnvironment(envVars, StratosConstants.LB_CLUSTER_ID, memberCtxt.getLbClusterId());
+        addToEnvironment(envVars, StratosConstants.NETWORK_PARTITION_ID,
+                memberCtxt.getNetworkPartitionId());
+        addToEnvironment(envVars, StratosConstants.KUBERNETES_CLUSTER_ID, kubernetesClusterId);
+        if (memberCtxt.getProperties() != null) {
+            org.apache.stratos.cloud.controller.pojo.Properties props1 = memberCtxt.getProperties();
             if (props1 != null) {
                 for (Property prop : props1.getProperties()) {
-                	addToEnvironment(envVars, prop.getName(), prop.getValue());
+                    addToEnvironment(envVars, prop.getName(), prop.getValue());
                 }
             }
         }
-        
+
         EnvironmentVariable[] vars = new EnvironmentVariable[envVars.size()];
-        
+
         return envVars.toArray(vars);
-        
-	}
-
-	private void addToEnvironment(List<EnvironmentVariable> envVars,
-			String payload) {
-
-		if (payload != null) {
-			String[] entries = payload.split(",");
-			for (String entry : entries) {
-				String[] var = entry.split("=");
-				if(var.length != 2) {
-					continue;
-				}
-				addToEnvironment(envVars, var[0], var[1]);
-			}
-		}
-	}
-
-	private void addToEnvironment(List<EnvironmentVariable> envVars,
-			String name, String value) {
-
-		EnvironmentVariable var = new EnvironmentVariable();
-		var.setName(name);
-		var.setValue(value);
-		envVars.add(var);
-	}
+
+    }
+
+    private void addToEnvironment(List<EnvironmentVariable> envVars, String payload) {
+
+        if (payload != null) {
+            String[] entries = payload.split(",");
+            for (String entry : entries) {
+                String[] var = entry.split("=");
+                if (var.length != 2) {
+                    continue;
+                }
+                addToEnvironment(envVars, var[0], var[1]);
+            }
+        }
+    }
+
+    private void addToEnvironment(List<EnvironmentVariable> envVars, String name, String value) {
+
+        EnvironmentVariable var = new EnvironmentVariable();
+        var.setName(name);
+        var.setValue(value);
+        envVars.add(var);
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/2db1eeaf/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesService.java
index 6aa4050..724891e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesService.java
@@ -30,35 +30,36 @@ import org.apache.stratos.kubernetes.client.model.Service;
 import com.google.common.base.Function;
 
 /**
- *	Is responsible for converting a {@link MemberContext} object to a Kubernetes {@link Service}
- *	Object.
+ * Is responsible for converting a {@link MemberContext} object to a Kubernetes
+ * {@link Service} Object.
  */
-public class MemberContextToKubernetesService implements Function<MemberContext, Service>{
+public class MemberContextToKubernetesService implements Function<MemberContext, Service> {
 
-	private FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
-	
-	@Override
-	public Service apply(MemberContext memberContext) {
-		
-		String clusterId = memberContext.getClusterId();
+    private FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
+
+    @Override
+    public Service apply(MemberContext memberContext) {
+
+        String clusterId = memberContext.getClusterId();
         ClusterContext clusterContext = dataHolder.getClusterContext(clusterId);
-        
-		String kubernetesClusterId = CloudControllerUtil.getProperty(clusterContext.getProperties(), 
-		StratosConstants.KUBERNETES_CLUSTER_ID);
-		KubernetesClusterContext kubClusterContext = dataHolder.getKubernetesClusterContext(kubernetesClusterId);
-        
+
+        String kubernetesClusterId = CloudControllerUtil.getProperty(
+                clusterContext.getProperties(), StratosConstants.KUBERNETES_CLUSTER_ID);
+        KubernetesClusterContext kubClusterContext = dataHolder
+                .getKubernetesClusterContext(kubernetesClusterId);
+
         Service service = new Service();
         service.setApiVersion("v1beta1");
         service.setId(CloudControllerUtil.getCompatibleId(clusterId));
         service.setKind("Service");
         int hostPort = kubClusterContext.getAnAvailableHostPort();
         clusterContext.addProperty(StratosConstants.ALLOCATED_SERVICE_HOST_PORT, hostPort);
-		service.setPort(hostPort);
+        service.setPort(hostPort);
         Selector selector = new Selector();
         selector.setName(clusterId);
         service.setSelector(selector);
-        
-		return service;
-	}
+
+        return service;
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/2db1eeaf/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToReplicationController.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToReplicationController.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToReplicationController.java
index 9bc1cf9..b2805cb 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToReplicationController.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToReplicationController.java
@@ -34,56 +34,57 @@ import org.apache.stratos.kubernetes.client.model.State;
 import com.google.common.base.Function;
 
 /**
- *	Is responsible for converting a {@link MemberContext} object to a Kubernetes {@link ReplicationController}
- *	Object.
+ * Is responsible for converting a {@link MemberContext} object to a Kubernetes
+ * {@link ReplicationController} Object.
  */
-public class MemberContextToReplicationController implements Function<MemberContext, ReplicationController>{
+public class MemberContextToReplicationController implements
+        Function<MemberContext, ReplicationController> {
 
-	private FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
-	
-	@Override
-	public ReplicationController apply(MemberContext memberContext) {
-		
-		String clusterId = memberContext.getClusterId();
+    private FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
+
+    @Override
+    public ReplicationController apply(MemberContext memberContext) {
+
+        String clusterId = memberContext.getClusterId();
         ClusterContext clusterContext = dataHolder.getClusterContext(clusterId);
-        
-		ReplicationController contr = new ReplicationController();
-		contr.setId(clusterContext.getClusterId());
-		contr.setKind("ReplicationController");
-		contr.setApiVersion("v1beta1");
-		State desiredState = new State();
-		String minReplicas = CloudControllerUtil.getProperty(clusterContext.getProperties(), 
-				StratosConstants.KUBERNETES_MIN_REPLICAS);
-		desiredState.setReplicas(Integer.parseInt(minReplicas));
-		Selector selector = new Selector();
-		selector.setName(clusterContext.getClusterId());
-		desiredState.setReplicaSelector(selector);
 
-		Pod podTemplate = new Pod();
-		State podState = new State();
-		Manifest manifest = new Manifest();
-		manifest.setVersion("v1beta1");
-		manifest.setId(clusterContext.getClusterId());
+        ReplicationController contr = new ReplicationController();
+        contr.setId(clusterContext.getClusterId());
+        contr.setKind("ReplicationController");
+        contr.setApiVersion("v1beta1");
+        State desiredState = new State();
+        String minReplicas = CloudControllerUtil.getProperty(clusterContext.getProperties(),
+                StratosConstants.KUBERNETES_MIN_REPLICAS);
+        desiredState.setReplicas(Integer.parseInt(minReplicas));
+        Selector selector = new Selector();
+        selector.setName(clusterContext.getClusterId());
+        desiredState.setReplicaSelector(selector);
+
+        Pod podTemplate = new Pod();
+        State podState = new State();
+        Manifest manifest = new Manifest();
+        manifest.setVersion("v1beta1");
+        manifest.setId(clusterContext.getClusterId());
 
-		MemberContextToKubernetesContainer containerFunc = new MemberContextToKubernetesContainer();
-		Container container = containerFunc.apply(memberContext);
+        MemberContextToKubernetesContainer containerFunc = new MemberContextToKubernetesContainer();
+        Container container = containerFunc.apply(memberContext);
 
-		manifest.setContainers(new Container[] { container });
+        manifest.setContainers(new Container[] { container });
 
-		podState.setManifest(manifest);
-		podTemplate.setDesiredState(podState);
-		Label l1 = new Label();
-		l1.setName(clusterContext.getClusterId());
-		podTemplate.setLabels(l1);
+        podState.setManifest(manifest);
+        podTemplate.setDesiredState(podState);
+        Label l1 = new Label();
+        l1.setName(clusterContext.getClusterId());
+        podTemplate.setLabels(l1);
 
-		desiredState.setPodTemplate(podTemplate);
-		contr.setDesiredState(desiredState);
+        desiredState.setPodTemplate(podTemplate);
+        contr.setDesiredState(desiredState);
 
-		Label l2 = new Label();
-		l2.setName(clusterContext.getClusterId());
-		contr.setLabels(l2);
+        Label l2 = new Label();
+        l2.setName(clusterContext.getClusterId());
+        contr.setLabels(l2);
 
-		return contr;
-	}
+        return contr;
+    }
 
 }