Renaming transformation functions

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

Branch: refs/heads/container-autoscaling
Commit: 5bc3a8772327b403284c56782505c1225a9ebb93
Parents: a110894
Author: Nirmal Fernando <[email protected]>
Authored: Tue Oct 7 17:33:03 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Wed Oct 8 22:21:29 2014 +0530

----------------------------------------------------------------------
 ...inerClusterContextToKubernetesContainer.java | 147 +++++++++++++++++++
 ...tainerClusterContextToKubernetesService.java |  65 ++++++++
 ...erClusterContextToReplicationController.java |  90 ++++++++++++
 .../MemberContextToKubernetesContainer.java     | 147 -------------------
 .../MemberContextToKubernetesService.java       |  65 --------
 .../MemberContextToReplicationController.java   |  90 ------------
 6 files changed, 302 insertions(+), 302 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/5bc3a877/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesContainer.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesContainer.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesContainer.java
new file mode 100644
index 0000000..dd45b3e
--- /dev/null
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesContainer.java
@@ -0,0 +1,147 @@
+/*
+ * 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.functions;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.ClusterContext;
+import org.apache.stratos.cloud.controller.pojo.MemberContext;
+import org.apache.stratos.cloud.controller.pojo.PortMapping;
+import org.apache.stratos.cloud.controller.pojo.Property;
+import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
+import org.apache.stratos.common.constants.StratosConstants;
+import org.apache.stratos.kubernetes.client.model.Container;
+import org.apache.stratos.kubernetes.client.model.EnvironmentVariable;
+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.
+ */
+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();
+            if (props1 != null) {
+                for (Property prop : props1.getProperties()) {
+                    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);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5bc3a877/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesService.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesService.java
new file mode 100644
index 0000000..724891e
--- /dev/null
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToKubernetesService.java
@@ -0,0 +1,65 @@
+/*
+ * 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.functions;
+
+import org.apache.stratos.cloud.controller.pojo.ClusterContext;
+import org.apache.stratos.cloud.controller.pojo.KubernetesClusterContext;
+import org.apache.stratos.cloud.controller.pojo.MemberContext;
+import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
+import org.apache.stratos.common.constants.StratosConstants;
+import org.apache.stratos.kubernetes.client.model.Selector;
+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.
+ */
+public class MemberContextToKubernetesService implements 
Function<MemberContext, Service> {
+
+    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);
+
+        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);
+        Selector selector = new Selector();
+        selector.setName(clusterId);
+        service.setSelector(selector);
+
+        return service;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5bc3a877/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToReplicationController.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToReplicationController.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToReplicationController.java
new file mode 100644
index 0000000..b2805cb
--- /dev/null
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/ContainerClusterContextToReplicationController.java
@@ -0,0 +1,90 @@
+/*
+ * 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.functions;
+
+import org.apache.stratos.cloud.controller.pojo.ClusterContext;
+import org.apache.stratos.cloud.controller.pojo.MemberContext;
+import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
+import org.apache.stratos.common.constants.StratosConstants;
+import org.apache.stratos.kubernetes.client.model.Container;
+import org.apache.stratos.kubernetes.client.model.Label;
+import org.apache.stratos.kubernetes.client.model.Manifest;
+import org.apache.stratos.kubernetes.client.model.Pod;
+import org.apache.stratos.kubernetes.client.model.ReplicationController;
+import org.apache.stratos.kubernetes.client.model.Selector;
+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.
+ */
+public class MemberContextToReplicationController implements
+        Function<MemberContext, ReplicationController> {
+
+    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());
+
+        MemberContextToKubernetesContainer containerFunc = new 
MemberContextToKubernetesContainer();
+        Container container = containerFunc.apply(memberContext);
+
+        manifest.setContainers(new Container[] { container });
+
+        podState.setManifest(manifest);
+        podTemplate.setDesiredState(podState);
+        Label l1 = new Label();
+        l1.setName(clusterContext.getClusterId());
+        podTemplate.setLabels(l1);
+
+        desiredState.setPodTemplate(podTemplate);
+        contr.setDesiredState(desiredState);
+
+        Label l2 = new Label();
+        l2.setName(clusterContext.getClusterId());
+        contr.setLabels(l2);
+
+        return contr;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5bc3a877/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
deleted file mode 100644
index dd45b3e..0000000
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesContainer.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * 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.functions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.pojo.Cartridge;
-import org.apache.stratos.cloud.controller.pojo.ClusterContext;
-import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.pojo.PortMapping;
-import org.apache.stratos.cloud.controller.pojo.Property;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.stratos.common.constants.StratosConstants;
-import org.apache.stratos.kubernetes.client.model.Container;
-import org.apache.stratos.kubernetes.client.model.EnvironmentVariable;
-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.
- */
-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();
-            if (props1 != null) {
-                for (Property prop : props1.getProperties()) {
-                    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);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5bc3a877/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
deleted file mode 100644
index 724891e..0000000
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToKubernetesService.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.functions;
-
-import org.apache.stratos.cloud.controller.pojo.ClusterContext;
-import org.apache.stratos.cloud.controller.pojo.KubernetesClusterContext;
-import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.stratos.common.constants.StratosConstants;
-import org.apache.stratos.kubernetes.client.model.Selector;
-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.
- */
-public class MemberContextToKubernetesService implements 
Function<MemberContext, Service> {
-
-    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);
-
-        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);
-        Selector selector = new Selector();
-        selector.setName(clusterId);
-        service.setSelector(selector);
-
-        return service;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/5bc3a877/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
deleted file mode 100644
index b2805cb..0000000
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/functions/MemberContextToReplicationController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * 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.functions;
-
-import org.apache.stratos.cloud.controller.pojo.ClusterContext;
-import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.stratos.common.constants.StratosConstants;
-import org.apache.stratos.kubernetes.client.model.Container;
-import org.apache.stratos.kubernetes.client.model.Label;
-import org.apache.stratos.kubernetes.client.model.Manifest;
-import org.apache.stratos.kubernetes.client.model.Pod;
-import org.apache.stratos.kubernetes.client.model.ReplicationController;
-import org.apache.stratos.kubernetes.client.model.Selector;
-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.
- */
-public class MemberContextToReplicationController implements
-        Function<MemberContext, ReplicationController> {
-
-    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());
-
-        MemberContextToKubernetesContainer containerFunc = new 
MemberContextToKubernetesContainer();
-        Container container = containerFunc.apply(memberContext);
-
-        manifest.setContainers(new Container[] { container });
-
-        podState.setManifest(manifest);
-        podTemplate.setDesiredState(podState);
-        Label l1 = new Label();
-        l1.setName(clusterContext.getClusterId());
-        podTemplate.setLabels(l1);
-
-        desiredState.setPodTemplate(podTemplate);
-        contr.setDesiredState(desiredState);
-
-        Label l2 = new Label();
-        l2.setName(clusterContext.getClusterId());
-        contr.setLabels(l2);
-
-        return contr;
-    }
-
-}

Reply via email to