[config]
## The installation directory
install_dir = INSTALL_DIR
## The type of API to call the cluster controller
cloud_api_type = ganeti
## The dir that contains the credentials downloaded from Eucalyptus Web frontend
#euca_rc_dir = /root/creds/
## The bucket that contains the emi to use. All dbs are installed in the /opt directory inside the image.
bucket_name = snf-image+cassandra310
## The default size for instances
instance_type = 10000_4_10000
## The name of the cluster
cluster_name = thanos-ganeti
## The template for instance hostnames
hostname_template = ganeti-nodes-
## Are we reconfiguring an existing cluster?
reconfigure = False
## Cluster type (supported types are: HBASE, HBASE92, HBASE94, CASSANDRA,CASSANDRA115,CASSANDRA223, RIAK)
cluster_type = CASSANDRA310
## Temporary database location
db_file = INSTALL_DIR/eMRE.LOGS.tiramola.db
#set logs folder name
logs_folder_name = LOGS
##set the logging level
logging_level=debug
##okeanos configuration
##Private network id (to add created VMs)
network_id = 41098
network_id_2 = 43308
okeanos_compute_public_url = https://cyclades.okeanos.grnet.gr/compute/v2.0
okeanos_token = D77IVpU4BbzO9jJXV_kdeMGo0L5FNSzc1gCQsitFWkA
clients_bucket_name = snf-image+ycsb
clients_instance_type = 10000_2_8000
training_set_name = TRAINING_SET_NAME_VAR
training_set_length = TRAINING_SET_LENGTH
reward_function_name = REWARD_FUNCTION_NAME_VAR
## Prism executable path
prism_file_path = PRISM_PATH_VAR
prism_multi_file_path = PRISM_MULTI_PATH_VAR
prism_output_folder = PRISM_OUTPUT_FOLDER
## model configuration
max_steps = MAXSTEPS
cumulative = CUMULATIVE
##simulation configuration
simulation = SIMULATION_VAR
sim_meas_count = MEAS_COUNT_VAR
iteration = ITERATION_VAR
sim_new_inlambda = PRODUCE_NEW_INLAMBDA_VAR
load_meas_log = LOAD_MEAS_LOG
sim_inlambda_file_path = LOAD_FILE_VAR
##elasticity configuration
## Starting one master and one node originally (min = 2)
initial_cluster_size=INIT_VAR
min_cluster_size=MIN_VAR
## Maximum cluster size (cost considerations)
max_cluster_size=MAX_VAR
## How many nodes to add in each add action
add_nodes = ADD_VAR
## How many nodes to remove in each add action
rem_nodes = REM_VAR
num_of_clusters = CLUSTERS_VAR
gain_punishment = PUNISHMENT
weighted_reward = WEIGHTEDREWARD
latency_threshold = LATENCY_VAR
window_inlambda = WINDOW_VAR
ewma_inlambda = EWMA_VAR
violation_cluster = VIOLATIONCLUSTER
hourly = HOURLY
##attack
attack = ATTACK
transient_counter_limit = TRANSIENTCOUNTER
##policy configuration (only one True at a time)
##policy type (supported types are: RL-TB, MDP-TB, MDP-EB, MDP-EBG, MDP2, MDP3)
policy = POLICY_VAR
##policy case type (supported types are: NOPROB, PROB, RF, RAF)
policy_case = POLICYCASE
accepted_percentage = ACCEPTANCEPERC
spot_prices_db = SPOTPRICEDB
########## BASED ON LAMBDA AND LATENCY ################
## Average max throughput per server
serv_throughput = SERVER_THROUGHPUT_VAR
## Cost function that provides the state transition cost for the FSMDecisionMaker
#trans_cost = 1
## The gain function of staying at a particular state. This in essense is a rate.
#gain = max(0,(( min( max_throughput, inlambda) - max(0, (latency-2000)/1000.0)*max_throughput ) * 0.002 ) - (num_nodes * 0.4) )
## Rigged gain for rebalancing
## Force add nodes
#gain = num_nodes
## Force remove nodes
#gain = -1 * num_nodes
######### BASED ON PERFORMANCE ###############
#gain=throughput/num_nodes
#gain=1.0/num_nodes
gain=GAIN_VAR
trans_cost = 0
########## BASED ON "r3(s)=B×thr−C×|VMs|^2" of Tirmaola_Socc2012_submission ################
#gain = 0.01*throughput
#trans_cost = 0.2*(num_nodes*num_nodes)
########## BASED ON CPU ONLY ################
## Cost function that provides the state transition cost for the FSMDecisionMaker
#trans_cost = ((max_throughput * 0.0001) - (added_nodes * cpu))
## The gain function of staying at a particular state. This in essense is a rate.
#gain = ((num_nodes * cpu ) - (num_nodes * 40))
########## BASED ON LATENCY ################
## Cost function that provides the state transition cost for the FSMDecisionMaker
#trans_cost = ((max_throughput * 0.002 * 0.9) + (added_nodes * 10000 * 0.002))
## The gain function of staying at a particular state. This in essense is a rate.
#gain = ((max_throughput * 0.002) - (num_nodes * 400) + (latency * max_throughput * 0.01))
[thresholds_add]
## Add the thresholds that the Coordinator will monitor and decide whether to add/remove nodes.
## The metrics that follow provide example setup.
#mem_free = low_1000000
#disk_free = low_%10
#load_five = high_0.4
#cpu_idle = low_60
#cpu_wio = low_5
#load_five = high_10
[thresholds_remove]
#mem_free = high_11000000
#load_five = low_1
#cpu_idle = high_85
#load_five = low_0