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

[3/5] stratos git commit: Removed kubernetes cluster monitors/contexts and renamed vm cluster monitor to cluster monitor

http://git-wip-us.apache.org/repos/asf/stratos/blob/d9c323a2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesClusterMonitor.java
deleted file mode 100644
index 659751f..0000000
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesClusterMonitor.java
+++ /dev/null
@@ -1,516 +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.autoscaler.monitor.cluster;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.context.cluster.KubernetesClusterContext;
-import org.apache.stratos.autoscaler.context.member.MemberStatsContext;
-import org.apache.stratos.autoscaler.client.CloudControllerClient;
-import org.apache.stratos.autoscaler.exception.cartridge.TerminationException;
-import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
-import org.apache.stratos.common.constants.StratosConstants;
-import org.apache.stratos.messaging.domain.topology.Cluster;
-import org.apache.stratos.messaging.domain.topology.ClusterStatus;
-import org.apache.stratos.messaging.domain.topology.Member;
-import org.apache.stratos.messaging.domain.topology.Service;
-import org.apache.stratos.messaging.event.health.stat.AverageLoadAverageEvent;
-import org.apache.stratos.messaging.event.health.stat.AverageMemoryConsumptionEvent;
-import org.apache.stratos.messaging.event.health.stat.AverageRequestsInFlightEvent;
-import org.apache.stratos.messaging.event.health.stat.GradientOfLoadAverageEvent;
-import org.apache.stratos.messaging.event.health.stat.GradientOfMemoryConsumptionEvent;
-import org.apache.stratos.messaging.event.health.stat.GradientOfRequestsInFlightEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberAverageLoadAverageEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberAverageMemoryConsumptionEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberFaultEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberGradientOfLoadAverageEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberGradientOfMemoryConsumptionEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberSecondDerivativeOfLoadAverageEvent;
-import org.apache.stratos.messaging.event.health.stat.MemberSecondDerivativeOfMemoryConsumptionEvent;
-import org.apache.stratos.messaging.event.health.stat.SecondDerivativeOfLoadAverageEvent;
-import org.apache.stratos.messaging.event.health.stat.SecondDerivativeOfMemoryConsumptionEvent;
-import org.apache.stratos.messaging.event.health.stat.SecondDerivativeOfRequestsInFlightEvent;
-import org.apache.stratos.messaging.event.topology.ClusterRemovedEvent;
-import org.apache.stratos.messaging.event.topology.MemberActivatedEvent;
-import org.apache.stratos.messaging.event.topology.MemberMaintenanceModeEvent;
-import org.apache.stratos.messaging.event.topology.MemberReadyToShutdownEvent;
-import org.apache.stratos.messaging.event.topology.MemberStartedEvent;
-import org.apache.stratos.messaging.event.topology.MemberTerminatedEvent;
-import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
-import org.drools.runtime.StatefulKnowledgeSession;
-
-/*
- * Every kubernetes cluster monitor should extend this class
- */
-public class KubernetesClusterMonitor extends VMClusterMonitor {
-
-    private static final Log log = LogFactory.getLog(KubernetesClusterMonitor.class);
-
-//    private StatefulKnowledgeSession dependentScaleCheckKnowledgeSession;
-
-    protected KubernetesClusterMonitor(Cluster cluster, boolean hasScalingDependents, boolean groupScalingEnabledSubtree) {
-
-        super(cluster, hasScalingDependents, groupScalingEnabledSubtree);
-
-        autoscalerRuleEvaluator = new AutoscalerRuleEvaluator();
-        autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.CONTAINER_OBSOLETE_CHECK_DROOL_FILE);
-        autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.CONTAINER_SCALE_CHECK_DROOL_FILE);
-        autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.CONTAINER_MIN_CHECK_DROOL_FILE);
-        autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.DEPENDENT_SCALE_CHECK_DROOL_FILE);
-
-        this.obsoleteCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
-                StratosConstants.CONTAINER_OBSOLETE_CHECK_DROOL_FILE);
-        this.scaleCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
-                StratosConstants.CONTAINER_SCALE_CHECK_DROOL_FILE);
-        this.minCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
-                StratosConstants.CONTAINER_MIN_CHECK_DROOL_FILE);
-        this.dependentScaleCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession(
-                StratosConstants.DEPENDENT_SCALE_CHECK_DROOL_FILE);
-
-        //this.kubernetesClusterCtxt = kubernetesClusterContext;
-    }
-
-//    @Override
-//    public void handleAverageLoadAverageEvent(
-//            AverageLoadAverageEvent averageLoadAverageEvent) {
-//
-//        String clusterId = averageLoadAverageEvent.getClusterId();
-//        float value = averageLoadAverageEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Avg load avg event: [cluster] %s [value] %s",
-//                                    clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setAverageLoadAverage(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//
-//    }
-//
-//    @Override
-//    public void handleGradientOfLoadAverageEvent(
-//            GradientOfLoadAverageEvent gradientOfLoadAverageEvent) {
-//
-//        String clusterId = gradientOfLoadAverageEvent.getClusterId();
-//        float value = gradientOfLoadAverageEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Grad of load avg event: [cluster] %s [value] %s",
-//                                    clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setLoadAverageGradient(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleSecondDerivativeOfLoadAverageEvent(
-//            SecondDerivativeOfLoadAverageEvent secondDerivativeOfLoadAverageEvent) {
-//
-//        String clusterId = secondDerivativeOfLoadAverageEvent.getClusterId();
-//        float value = secondDerivativeOfLoadAverageEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Second Derivation of load avg event: [cluster] %s "
-//                                    + "[value] %s", clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setLoadAverageSecondDerivative(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleAverageMemoryConsumptionEvent(
-//            AverageMemoryConsumptionEvent averageMemoryConsumptionEvent) {
-//
-//        String clusterId = averageMemoryConsumptionEvent.getClusterId();
-//        float value = averageMemoryConsumptionEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Avg Memory Consumption event: [cluster] %s "
-//                                    + "[value] %s", averageMemoryConsumptionEvent.getClusterId(), value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setAverageMemoryConsumption(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleGradientOfMemoryConsumptionEvent(
-//            GradientOfMemoryConsumptionEvent gradientOfMemoryConsumptionEvent) {
-//
-//        String clusterId = gradientOfMemoryConsumptionEvent.getClusterId();
-//        float value = gradientOfMemoryConsumptionEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Grad of Memory Consumption event: [cluster] %s "
-//                                    + "[value] %s", clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setMemoryConsumptionGradient(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleSecondDerivativeOfMemoryConsumptionEvent(
-//            SecondDerivativeOfMemoryConsumptionEvent secondDerivativeOfMemoryConsumptionEvent) {
-//
-//        String clusterId = secondDerivativeOfMemoryConsumptionEvent.getClusterId();
-//        float value = secondDerivativeOfMemoryConsumptionEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Second Derivation of Memory Consumption event: [cluster] %s "
-//                                    + "[value] %s", clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setMemoryConsumptionSecondDerivative(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleAverageRequestsInFlightEvent(
-//            AverageRequestsInFlightEvent averageRequestsInFlightEvent) {
-//
-//        float value = averageRequestsInFlightEvent.getValue();
-//        String clusterId = averageRequestsInFlightEvent.getClusterId();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Average Rif event: [cluster] %s [value] %s",
-//                                    clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setAverageRequestsInFlight(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleGradientOfRequestsInFlightEvent(
-//            GradientOfRequestsInFlightEvent gradientOfRequestsInFlightEvent) {
-//
-//        String clusterId = gradientOfRequestsInFlightEvent.getClusterId();
-//        float value = gradientOfRequestsInFlightEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Gradient of Rif event: [cluster] %s [value] %s",
-//                                    clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setRequestsInFlightGradient(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleSecondDerivativeOfRequestsInFlightEvent(
-//            SecondDerivativeOfRequestsInFlightEvent secondDerivativeOfRequestsInFlightEvent) {
-//
-//        String clusterId = secondDerivativeOfRequestsInFlightEvent.getClusterId();
-//        float value = secondDerivativeOfRequestsInFlightEvent.getValue();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format("Second derivative of Rif event: [cluster] %s "
-//                                    + "[value] %s", clusterId, value));
-//        }
-//        KubernetesClusterContext kubernetesClusterContext = getKubernetesClusterCtxt();
-//        if (null != kubernetesClusterContext) {
-//            kubernetesClusterContext.setRequestsInFlightSecondDerivative(value);
-//        } else {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Kubernetes cluster context is not available for :" +
-//                                        " [cluster] %s", clusterId));
-//            }
-//        }
-//    }
-//
-//    @Override
-//    public void handleMemberAverageMemoryConsumptionEvent(
-//            MemberAverageMemoryConsumptionEvent memberAverageMemoryConsumptionEvent) {
-//
-//        String memberId = memberAverageMemoryConsumptionEvent.getMemberId();
-//        KubernetesClusterContext kubernetesClusterCtxt = getKubernetesClusterCtxt();
-//        MemberStatsContext memberStatsContext = kubernetesClusterCtxt.getMemberStatsContext(memberId);
-//        if (null == memberStatsContext) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member context is not available for : [member] %s", memberId));
-//            }
-//            return;
-//        }
-//        float value = memberAverageMemoryConsumptionEvent.getValue();
-//        memberStatsContext.setAverageMemoryConsumption(value);
-//    }
-//
-//    @Override
-//    public void handleMemberGradientOfMemoryConsumptionEvent(
-//            MemberGradientOfMemoryConsumptionEvent memberGradientOfMemoryConsumptionEvent) {
-//
-//        String memberId = memberGradientOfMemoryConsumptionEvent.getMemberId();
-//        KubernetesClusterContext kubernetesClusterCtxt = getKubernetesClusterCtxt();
-//        MemberStatsContext memberStatsContext = kubernetesClusterCtxt.getMemberStatsContext(memberId);
-//        if (null == memberStatsContext) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member context is not available for : [member] %s", memberId));
-//            }
-//            return;
-//        }
-//        float value = memberGradientOfMemoryConsumptionEvent.getValue();
-//        memberStatsContext.setGradientOfMemoryConsumption(value);
-//    }
-//
-//    @Override
-//    public void handleMemberSecondDerivativeOfMemoryConsumptionEvent(
-//            MemberSecondDerivativeOfMemoryConsumptionEvent memberSecondDerivativeOfMemoryConsumptionEvent) {
-//
-//    }
-//
-//    @Override
-//    public void handleMemberAverageLoadAverageEvent(
-//            MemberAverageLoadAverageEvent memberAverageLoadAverageEvent) {
-//
-//        KubernetesClusterContext kubernetesClusterCtxt = getKubernetesClusterCtxt();
-//        String memberId = memberAverageLoadAverageEvent.getMemberId();
-//        float value = memberAverageLoadAverageEvent.getValue();
-//        MemberStatsContext memberStatsContext = kubernetesClusterCtxt.getMemberStatsContext(memberId);
-//        if (null == memberStatsContext) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member context is not available for : [member] %s", memberId));
-//            }
-//            return;
-//        }
-//        memberStatsContext.setAverageLoadAverage(value);
-//    }
-//
-//    @Override
-//    public void handleMemberGradientOfLoadAverageEvent(
-//            MemberGradientOfLoadAverageEvent memberGradientOfLoadAverageEvent) {
-//
-//        String memberId = memberGradientOfLoadAverageEvent.getMemberId();
-//        KubernetesClusterContext kubernetesClusterCtxt = getKubernetesClusterCtxt();
-//        MemberStatsContext memberStatsContext = kubernetesClusterCtxt.getMemberStatsContext(memberId);
-//        if (null == memberStatsContext) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member context is not available for : [member] %s", memberId));
-//            }
-//            return;
-//        }
-//        float value = memberGradientOfLoadAverageEvent.getValue();
-//        memberStatsContext.setGradientOfLoadAverage(value);
-//    }
-//
-//    @Override
-//    public void handleMemberSecondDerivativeOfLoadAverageEvent(
-//            MemberSecondDerivativeOfLoadAverageEvent memberSecondDerivativeOfLoadAverageEvent) {
-//
-//        String memberId = memberSecondDerivativeOfLoadAverageEvent.getMemberId();
-//        KubernetesClusterContext kubernetesClusterCtxt = getKubernetesClusterCtxt();
-//        MemberStatsContext memberStatsContext = kubernetesClusterCtxt.getMemberStatsContext(memberId);
-//        if (null == memberStatsContext) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member context is not available for : [member] %s", memberId));
-//            }
-//            return;
-//        }
-//        float value = memberSecondDerivativeOfLoadAverageEvent.getValue();
-//        memberStatsContext.setSecondDerivativeOfLoadAverage(value);
-//    }
-//
-//    @Override
-//    public void handleMemberFaultEvent(MemberFaultEvent memberFaultEvent) {
-//    	// kill the container
-//        String memberId = memberFaultEvent.getMemberId();
-//        Member member = getMemberByMemberId(memberId);
-//        if (null == member) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member not found in the Topology: [member] %s", memberId));
-//            }
-//            return;
-//        }
-//        if (!member.isActive()) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member activated event has not received for the member %s. "
-//                                        + "Therefore ignoring" + " the member fault health stat", memberId));
-//            }
-//            return;
-//        }
-//
-//        if (!getKubernetesClusterCtxt().activeMemberExist(memberId)) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Could not find the active member in kubernetes cluster context, "
-//                                        + "[member] %s ", memberId));
-//            }
-//            return;
-//        }
-//
-//        // move member to obsolete list
-//        getKubernetesClusterCtxt().moveMemberToObsoleteList(memberId);
-//        if (log.isInfoEnabled()) {
-//            String clusterId = memberFaultEvent.getClusterId();
-//            String kubernetesClusterID = getKubernetesClusterCtxt().getKubernetesClusterID();
-//            log.info(String.format("Faulty member is moved to obsolete list and removed from the active members list: "
-//                    + "[member] %s [kub-cluster] %s [cluster] %s ", memberId, kubernetesClusterID, clusterId));
-//        }
-//    }
-//
-//    @Override
-//    public void handleMemberStartedEvent(
-//            MemberStartedEvent memberStartedEvent) {
-//
-//    }
-//
-//    @Override
-//    public void handleMemberActivatedEvent(
-//            MemberActivatedEvent memberActivatedEvent) {
-//
-//        KubernetesClusterContext kubernetesClusterContext;
-//        kubernetesClusterContext = getKubernetesClusterCtxt();
-//        String memberId = memberActivatedEvent.getMemberId();
-//        kubernetesClusterContext.addMemberStatsContext(new MemberStatsContext(memberId));
-//        if (log.isInfoEnabled()) {
-//            log.info(String.format("Member stat context has been added successfully: "
-//                                   + "[member] %s", memberId));
-//        }
-//        kubernetesClusterContext.movePendingMemberToActiveMembers(memberId);
-//    }
-//
-//    @Override
-//    public void handleMemberMaintenanceModeEvent(
-//            MemberMaintenanceModeEvent maintenanceModeEvent) {
-//
-//        // no need to do anything here
-//        // we will not be receiving this event for containers
-//        // we will only receive member terminated event
-//    }
-//
-//    @Override
-//    public void handleMemberReadyToShutdownEvent(
-//            MemberReadyToShutdownEvent memberReadyToShutdownEvent) {
-//
-//        // no need to do anything here
-//        // we will not be receiving this event for containers
-//    	// we will only receive member terminated event
-//    }
-//
-//    @Override
-//    public void handleMemberTerminatedEvent(
-//            MemberTerminatedEvent memberTerminatedEvent) {
-//
-//        String memberId = memberTerminatedEvent.getMemberId();
-//        if (getKubernetesClusterCtxt().removeTerminationPendingMember(memberId)) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member is removed from termination pending members list: "
-//                                        + "[member] %s", memberId));
-//            }
-//        } else if (getKubernetesClusterCtxt().removePendingMember(memberId)) {
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format("Member is removed from pending members list: "
-//                                        + "[member] %s", memberId));
-//            }
-//        } else if (getKubernetesClusterCtxt().removeActiveMemberById(memberId)) {
-//            log.warn(String.format("Member is in the wrong list and it is removed from "
-//                                   + "active members list: %s", memberId));
-//        } else if (getKubernetesClusterCtxt().removeObsoleteMember(memberId)) {
-//            log.warn(String.format("Obsolete member has either been terminated or its obsolete time out has expired and"
-//                                   + " it is removed from obsolete members list: %s", memberId));
-//        } else {
-//            log.warn(String.format("Member is not available in any of the list active, "
-//                                   + "pending and termination pending: %s", memberId));
-//        }
-//
-//        if (log.isInfoEnabled()) {
-//            log.info(String.format("Member stat context has been removed successfully: "
-//                                   + "[member] %s", memberId));
-//        }
-//    }
-//
-//    @Override
-//    public void handleClusterRemovedEvent(
-//            ClusterRemovedEvent clusterRemovedEvent) {
-//    	getKubernetesClusterCtxt().getPendingMembers().clear();
-//    	getKubernetesClusterCtxt().getActiveMembers().clear();
-//    	getKubernetesClusterCtxt().getTerminationPendingMembers().clear();
-//    	getKubernetesClusterCtxt().getObsoletedMembers().clear();
-//    }
-//
-//    public KubernetesClusterContext getKubernetesClusterCtxt() {
-//        return (KubernetesClusterContext) getClusterContext();
-//    }
-//
-//    private Member getMemberByMemberId(String memberId) {
-//        try {
-//            TopologyManager.acquireReadLock();
-//            for (Service service : TopologyManager.getTopology().getServices()) {
-//                for (Cluster cluster : service.getClusters()) {
-//                    if (cluster.memberExists(memberId)) {
-//                        return cluster.getMember(memberId);
-//                    }
-//                }
-//            }
-//            return null;
-//        } finally {
-//            TopologyManager.releaseReadLock();
-//        }
-//    }
-
-    @Override
-    public void terminateAllMembers(String instanceId, String networkPartitionId) {
-        try {
-            CloudControllerClient.getInstance().terminateAllContainers(getClusterId());
-        } catch (TerminationException e) {
-            log.error(String.format("Could not terminate containers: [cluster-id] %s",
-                    getClusterId()), e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/d9c323a2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
deleted file mode 100644
index f09f440..0000000
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java
+++ /dev/null
@@ -1,219 +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.autoscaler.monitor.cluster;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.messaging.domain.topology.Cluster;
-
-/*
- * It is monitoring a kubernetes service cluster periodically.
- */
-public final class KubernetesServiceClusterMonitor extends KubernetesClusterMonitor {
-
-    private static final Log log = LogFactory.getLog(KubernetesServiceClusterMonitor.class);
-
-    private String lbReferenceType;
-
-    public KubernetesServiceClusterMonitor(Cluster cluster, boolean hasScalingDependents, boolean groupScalingEnabledSubtree) {
-        super(cluster, hasScalingDependents, groupScalingEnabledSubtree);
-        readConfigurations();
-    }
-
-    @Override
-    public void run() {
-
-        if (log.isDebugEnabled()) {
-            log.debug("KubernetesServiceClusterMonitor is running..." + this.toString());
-        }
-        try {
-
-            //TODO to get status from correct instance if (!ClusterStatus.Active.getNextStates().contains(getStatus())) {
-                monitor();
-            /*} else {
-                if (log.isDebugEnabled()) {
-                    log.debug("KubernetesServiceClusterMonitor is suspended as the cluster is in "
-                            + getStatus() + "state");
-                }
-            }*/
-        } catch (Exception e) {
-            log.error("KubernetesServiceClusterMonitor: Monitor failed." + this.toString(),
-                    e);
-        }
-    }
-
-//    @Override
-//    public void monitor() {
-//        final String instanceId = this.getKubernetesClusterCtxt().getInstanceId();
-//        Runnable monitoringRunnable = new Runnable() {
-//
-//            @Override
-//            public void run() {
-//                obsoleteCheck();
-//                minCheck();
-//                scaleCheck(instanceId);
-//            }
-//        };
-//        monitoringRunnable.run();
-//    }
-//
-//
-//    private void scaleCheck(String instanceId) {
-//        boolean rifReset = getKubernetesClusterCtxt().isRifReset();
-//        boolean memoryConsumptionReset = getKubernetesClusterCtxt().isMemoryConsumptionReset();
-//        boolean loadAverageReset = getKubernetesClusterCtxt().isLoadAverageReset();
-//        if (log.isDebugEnabled()) {
-//            log.debug("flag of rifReset : " + rifReset
-//                    + " flag of memoryConsumptionReset : "
-//                    + memoryConsumptionReset + " flag of loadAverageReset : "
-//                    + loadAverageReset);
-//        }
-//        String kubernetesClusterID = getKubernetesClusterCtxt().getKubernetesClusterID();
-//        String clusterId = getClusterId();
-//        if (rifReset || memoryConsumptionReset || loadAverageReset) {
-//            getScaleCheckKnowledgeSession().setGlobal("clusterId", clusterId);
-//            getScaleCheckKnowledgeSession().setGlobal("autoscalePolicy", getAutoscalePolicy(instanceId));
-//            getScaleCheckKnowledgeSession().setGlobal("rifReset", rifReset);
-//            getScaleCheckKnowledgeSession().setGlobal("mcReset", memoryConsumptionReset);
-//            getScaleCheckKnowledgeSession().setGlobal("laReset", loadAverageReset);
-//            if (log.isDebugEnabled()) {
-//                log.debug(String.format(
-//                        "Running scale check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId()));
-//            }
-//            scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
-//                    getScaleCheckKnowledgeSession(), scaleCheckFactHandle, getKubernetesClusterCtxt());
-//            getKubernetesClusterCtxt().setRifReset(false);
-//            getKubernetesClusterCtxt().setMemoryConsumptionReset(false);
-//            getKubernetesClusterCtxt().setLoadAverageReset(false);
-//        } else if (log.isDebugEnabled()) {
-//            log.debug(String.format("Scale check will not run since none of the statistics have not received yet for "
-//                    + "[kub-cluster] : %s [cluster] : %s", kubernetesClusterID, clusterId));
-//        }
-//    }
-//
-//    private AutoscalePolicy getAutoscalePolicy(String instanceId) {
-//        KubernetesClusterContext kubernetesClusterContext = (KubernetesClusterContext) this.clusterContext;
-//        return kubernetesClusterContext.getAutoscalePolicy();
-//    }
-//
-//    private void minCheck() {
-//        getMinCheckKnowledgeSession().setGlobal("clusterId", getClusterId());
-//        String kubernetesClusterID = getKubernetesClusterCtxt().getKubernetesClusterID();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format(
-//                    "Running min check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId()));
-//        }
-//        minCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
-//                getMinCheckKnowledgeSession(), minCheckFactHandle,
-//                getKubernetesClusterCtxt());
-//    }
-//
-//    private void obsoleteCheck() {
-//        getObsoleteCheckKnowledgeSession().setGlobal("clusterId", getClusterId());
-//        String kubernetesClusterID = getKubernetesClusterCtxt().getKubernetesClusterID();
-//        if (log.isDebugEnabled()) {
-//            log.debug(String.format(
-//                    "Running obsolete check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId()));
-//        }
-//        obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
-//                getObsoleteCheckKnowledgeSession(), obsoleteCheckFactHandle,
-//                getKubernetesClusterCtxt());
-//    }
-//
-//    @Override
-//    public void destroy() {
-//        getMinCheckKnowledgeSession().dispose();
-//        getObsoleteCheckKnowledgeSession().dispose();
-//        getScaleCheckKnowledgeSession().dispose();
-//        setDestroyed(true);
-//        stopScheduler();
-//        if (log.isDebugEnabled()) {
-//            log.debug("KubernetesServiceClusterMonitor Drools session has been disposed. " + this.toString());
-//        }
-//    }
-//
-//    @Override
-//    protected void readConfigurations() {
-//        XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
-//        int monitorInterval = conf.getInt(AutoScalerConstants.KubernetesService_Cluster_MONITOR_INTERVAL, 60000);
-//        setMonitorIntervalMilliseconds(monitorInterval);
-//        if (log.isDebugEnabled()) {
-//            log.debug("KubernetesServiceClusterMonitor task interval set to : " + getMonitorIntervalMilliseconds());
-//        }
-//    }
-//
-//    @Override
-//    public String toString() {
-//        return "KubernetesServiceClusterMonitor for " + "[ clusterId=" + getClusterId() + "]";
-//    }
-//
-//    public String getLbReferenceType() {
-//        return lbReferenceType;
-//    }
-//
-//    public void setLbReferenceType(String lbReferenceType) {
-//        this.lbReferenceType = lbReferenceType;
-//    }
-//
-//    @Override
-//    public void handleDynamicUpdates(Properties properties) throws InvalidArgumentException {
-//
-//        if (properties != null) {
-//            Property[] propertyArray = properties.getProperties();
-//            if (propertyArray == null) {
-//                return;
-//            }
-//            List<Property> propertyList = Arrays.asList(propertyArray);
-//
-//            for (Property property : propertyList) {
-//                String key = property.getName();
-//                String value = property.getValue();
-//
-//                if (StratosConstants.KUBERNETES_MIN_REPLICAS.equals(key)) {
-//                    int min = Integer.parseInt(value);
-//                    int max = getKubernetesClusterCtxt().getMaxReplicas();
-//                    if (min > max) {
-//                        String msg = String.format("%s should be less than %s . But %s is not less than %s.",
-//                                StratosConstants.KUBERNETES_MIN_REPLICAS, StratosConstants.KUBERNETES_MAX_REPLICAS, min, max);
-//                        log.error(msg);
-//                        throw new InvalidArgumentException(msg);
-//                    }
-//                    getKubernetesClusterCtxt().setMinReplicas(min);
-//                    break;
-//                }
-//            }
-//
-//        }
-//    }
-//
-//    @Override
-//    public void terminateAllMembers(String instanceId, String networkPartitionId) {
-//
-//    }
-//
-//    @Override
-//    public void onChildScalingEvent(MonitorScalingEvent scalingEvent) {
-//
-//    }
-//
-//    @Override
-//    public void onParentScalingEvent(MonitorScalingEvent scalingEvent) {
-//
-//    }
-}