edu.columbia.cs.irt.sipcloud
Class LoadScalingManager

java.lang.Object
  extended by java.lang.Thread
      extended by edu.columbia.cs.irt.sipcloud.LoadScalingManager
All Implemented Interfaces:
java.lang.Runnable

public class LoadScalingManager
extends java.lang.Thread

Author:
jyk

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
LoadScalingManager()
           
 
Method Summary
static void addNewLB(java.lang.String region)
           
static void addNewProxy(java.lang.String region)
           
static void addNewVms(java.lang.String region, boolean[] selectedVms)
           
static ScaleCommand getCommand()
           
static java.util.ArrayList<java.lang.String> getPrivAddresses(java.lang.String region, java.lang.String type)
           
static java.lang.String getPubAddressFromPrivateAddress(java.lang.String privAddress)
           
static java.util.ArrayList<java.util.List<com.amazonaws.services.cloudwatch.model.Datapoint>> getVMStatistic(java.lang.String instanceID)
           
static void inactivateProxy(VmElement ser)
          Updates all LBs to inactivate proxy
 void init()
           
static java.lang.String[] makeListOfInstances()
           
static void putCommand(ScaleCommand command)
           
static void reconfigInstanceUsingID(java.lang.String instanceID)
          Re-config EC2 Instance
static void removeCassandra()
           
static void removeLB()
           
static void removeRandomProxy(java.lang.String region)
           
 void run()
           
static void startNewCluster(java.lang.String region)
           
static void startProcess(VmElement e)
           
static void stopCluster(java.lang.String region)
           
static void stopInstance(java.lang.String comboSelection)
           
static void stopInstanceUsingID(java.lang.String instanceID)
           
static void terminateInstanceUsingID(java.lang.String instanceID)
          Terminate EC2 Instance
static void updateAllDispatchList(java.lang.String region)
          Updates all LBs with new dispatch list file.
static boolean uploadDispatchListFile(java.lang.String host)
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LoadScalingManager

public LoadScalingManager()
Method Detail

init

public void init()

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread
Parameters:
args -

startProcess

public static void startProcess(VmElement e)

startNewCluster

public static void startNewCluster(java.lang.String region)

uploadDispatchListFile

public static boolean uploadDispatchListFile(java.lang.String host)

updateAllDispatchList

public static void updateAllDispatchList(java.lang.String region)
Updates all LBs with new dispatch list file.


inactivateProxy

public static void inactivateProxy(VmElement ser)
Updates all LBs to inactivate proxy


addNewProxy

public static void addNewProxy(java.lang.String region)

removeRandomProxy

public static void removeRandomProxy(java.lang.String region)

addNewLB

public static void addNewLB(java.lang.String region)

removeLB

public static void removeLB()

removeCassandra

public static void removeCassandra()

putCommand

public static void putCommand(ScaleCommand command)

getCommand

public static ScaleCommand getCommand()

addNewVms

public static void addNewVms(java.lang.String region,
                             boolean[] selectedVms)

stopCluster

public static void stopCluster(java.lang.String region)

getPrivAddresses

public static java.util.ArrayList<java.lang.String> getPrivAddresses(java.lang.String region,
                                                                     java.lang.String type)

getPubAddressFromPrivateAddress

public static java.lang.String getPubAddressFromPrivateAddress(java.lang.String privAddress)

stopInstance

public static void stopInstance(java.lang.String comboSelection)

stopInstanceUsingID

public static void stopInstanceUsingID(java.lang.String instanceID)

terminateInstanceUsingID

public static void terminateInstanceUsingID(java.lang.String instanceID)
Terminate EC2 Instance

Parameters:
instanceID - The VM's instance ID to be terminated

reconfigInstanceUsingID

public static void reconfigInstanceUsingID(java.lang.String instanceID)
Re-config EC2 Instance

Parameters:
instnaceID - the VM's instance ID to be re-configured

makeListOfInstances

public static java.lang.String[] makeListOfInstances()

getVMStatistic

public static java.util.ArrayList<java.util.List<com.amazonaws.services.cloudwatch.model.Datapoint>> getVMStatistic(java.lang.String instanceID)