############################# INTERNAL PARAMETERS #############################
# You should not touch it unless you are absolutely sure of what you are doing!
# Proceed at your own risk. You have been warned.

[USER-DEFINED]
# Variable $IP_AUTO attempts to auto-discover IP address

# PLEASE TYPE DOCUMENTATION HERE for the wizard
# For each key, add a corresponding '_DOC' key

MANAGER_IP = $IP_AUTO
MAIN_UPDATE_FREQUENCY = 5
MAIN_UPDATE_ATTEMPTS = 36
MAIN_NOTIFICATION = $False
MAIN_ATTEMPTS = 24
MAIN_TIMEOUT = 240
# Variable $USER auto-selects current username
MAIN_USERNAME = $USER_AUTO
# This is the username created inside the VMs
# Variable $PATH_TO_TOOL attempts to auto-selects the appropriate path 
MAIN_BASE_DIR = $PATH_TO_TOOL
# Are we running under regression?
# If so, instruct list_objects() to sort its output

# The SSH key name and username keys are 
# mandatory and is made mandatory
# in each individual _cloud.txt file
# with the 'need_to_be_configured_by_user' keyword
# The actual key name should not be specified in the
# template configuration files. It must be overriden.
# Only simcloud has the correct defaults.
# All other clouds need to specify the key and username
# explicitly and will be warned by the tool.
LOGIN_DOC = Please indicate the username that will be used for SSH inside your VMs.\n
LOGIN_DOC += You should have already created (or acquired access to) a pre-existing\n
LOGIN_DOC += image that exists in the cloud to which you are trying to connect\n
LOGIN_DOC += as well as already have distributed a public/private key\npair for that image.
SSH_KEY_NAME_DOC = Please indicate the location of the SSH private key that will\n
SSH_KEY_NAME_DOC += allow the tool to login to your VMs over the network.\n
SSH_KEY_NAME_DOC += In order to use this, the tool *must* have direct SSH access to your\n
SSH_KEY_NAME_DOC += virtual machines in the cloud or the tool cannot function. \n
SSH_KEY_NAME_DOC += This key is used to bootstrap the application startup process as\n
SSH_KEY_NAME_DOC += well as test for network connectivity when the VMs are booting up
SSH_KEY_NAME_DOC += in the Cloud.\nNote: You should have already uploaded an image 
SSH_KEY_NAME_DOC += which contains a matching public key\nfor the private key that 
SSH_KEY_NAME_DOC += you are using here, or the tool cannot login to the VMs.
INITIAL_VMCS_DOC = Please specify a list of Regions\n(analagous to an EC2 or 
INITIAL_VMCS_DOC += OpenStack region).\nThis name is arbitrary, and represents 
INITIAL_VMCS_DOC += the point at\nwhich hypervisors are grouped together in a typical cloud.

[SETUP]
GLOBAL_OBJECT_LIST = setup,logstore,metricstore,filestore,dash_defaults,mon_defaults,
GLOBAL_OBJECT_LIST += vpn,space,time,vmc_defaults,vm_defaults,ai_defaults,
GLOBAL_OBJECT_LIST += aidrs_defaults,vmcrs_defaults,firs_defaults,vm_templates,
GLOBAL_OBJECT_LIST += ai_templates,aidrs_templates,vmcrs_templates,fi_templates,
GLOBAL_OBJECT_LIST += firs_templates,query,admission_control,api_defaults,gui_defaults,build

[SPACE]
BASE_DIR = $MAIN_BASE_DIR
GENERATED_CONFIGURATIONS_DIR=$MAIN_BASE_DIR/configs/generated
INSTANCE_DIR = /tmp/$PROCESSID
BINARIES_DIR = $BASE_DIR/binaries
CERTIFICATES_DIR = $BASE_DIR/certificates
SCRIPTS_DIR = $BASE_DIR/scripts
CREDENTIALS_DIR = $BASE_DIR/credentials
DAEMON_WORKING_DIR = $INSTANCE_DIR
STORES_WORKING_DIR = $BASE_DIR/stores
LOG_DIR = /var/log/cloudbench
DATA_WORKING_DIR = $BASE_DIR/data
USERNAME = $MAIN_USERNAME
# This variable should match what the layout of the VM image uses (user name and directory)
VM_DAEMON_DIR = /home/klabuser
#  The "cloudbench/jar" part of the directory is hardcoded in lib/active_operations.py
#  and the directory layout of the 'cloudbench.git' source distribution
JARS_DIR = /home/klabuser/cloudbench/jar
REGRESSION = $False

[TIME]
USERNAME = $MAIN_USERNAME
START_TIME = $DATE
EXPERIMENT_ID = EXP 
STEP_DELAY = 5
EXTERNAL_TIMEOUT = 360
EXTERNAL_TRIES = 2
EXTERNAL_TIMEOUT = 30
INTERNAL_TRIES = 2

[QUERY]
USERNAME = $MAIN_USERNAME
OBJECT_TYPE_LIST = VMC, HOST, VM, AI, AIDRS, VMCRS, FIRS
HOST = BYUSERNAME, BYVMC
VMC = BYPOOL, BYUSERNAME
VM = BYUSERNAME, BYVMC, BYHOST, BYROLE, BYTYPE, BYAI, BYAIDRS, BYBATCH, BYSLA_PROVISIONING, BYSLA_RUNTIME, BYAPP_ERROR
AI = BYUSERNAME, BYTYPE, BYAIDRS
AIDRS = BYUSERNAME, BYPATTERN
VMCRS = BYUSERNAME, BYPATTERN, BYSCOPE
FIRS = BYUSERNAME, BYPATTERN, BYSCOPE
MANDATORY_TAGS = name, cloud_hostname, cloud_ip
CLOUD_ATTRIBUTES = name, model, description, all, username, client_should_refresh, start_time, all_vmcs_attached, regression, walkthrough
GET_VM_LIST = $False

[ADMISSION_CONTROL]
VMC_MAX_RESERVATIONS = 100000
VM_MAX_RESERVATIONS = 100000 
AI_MAX_RESERVATIONS = 100000
AIDRS_MAX_RESERVATIONS = 100000
VMCRS_MAX_RESERVATIONS = 100000
FIRS_MAX_RESERVATIONS = 100000

[VMC_DEFAULTS]
BASE_DIR = $MAIN_BASE_DIR
GENERATED_CONFIGURATIONS_DIR=$MAIN_BASE_DIR/configs/generated
USERNAME = $MAIN_USERNAME
CREDENTIALS = $EMPTY
INITIAL_VMCS = $EMPTY
TIMEOUT = $MAIN_TIMEOUT
ATTEMPTS = $MAIN_ATTEMPTS
NOTIFICATION = $MAIN_NOTIFICATION
NOTIFICATION_CHANNEL = auto
UPDATE_FREQUENCY = $MAIN_UPDATE_FREQUENCY
UPDATE_ATTEMPTS = $MAIN_UPDATE_ATTEMPTS
MAX_VM_RESERVATIONS = 100000 
MEMORY_OVERCOMMIT = 1.0
CPU_OVERCOMMIT = 1.0
NETWORK_OVERCOMMIT = 1.0
STORAGE_OVERCOMMIT = 1.0
CLEANUP_ON_ATTACH = $True
CLEANUP_ON_DETACH = $True
REPLICATION_VMCS = $EMPTY
DETACH_PARALLELISM = 20
DISCOVER_HOSTS = $False
MIGRATE_SUPPORTED = $False
PROTECT_SUPPORTED = $False
FORCE_WALKTHROUGH = $True
ADDITIONAL_DISCOVERY = $EMPTY
# Choose from VMCs in a pool in a round-robin manner.
# Options: "random", "roundrobin", "colocate"
# Random will send all VMs to random VMCs
# Round robin will do round robin.
# Colocate will make sure that all VMs of the same AI go to the same VMC
# You can also do "colocate,roundrobin" or "colocate,random" which will do both at the same time
PLACEMENT_METHOD = roundrobin 

[VM_DEFAULTS]
DETACH_ATTEMPTS = 1
USERNAME = $MAIN_USERNAME
UPDATE_FREQUENCY = $MAIN_UPDATE_FREQUENCY
UPDATE_ATTEMPTS = $MAIN_UPDATE_ATTEMPTS
TIMEOUT = $MAIN_TIMEOUT
GENERATED_CONFIGURATIONS_DIR=$MAIN_BASE_DIR/configs/generated
RECREATE_ATTEMPTS = 1
NOTIFICATION = $MAIN_NOTIFICATION
NOTIFICATION_CHANNEL = auto
LOCAL_DIR_NAME = cbtool
REMOTE_DIR_NAME = cbtool
RUN_GENERIC_SCRIPTS = $True
TRANSFER_FILES = $True
CHECK_SSH = $True
DEBUG_REMOTE_COMMANDS = $False
FORCE_MSG_PRINT = $False
STICKY_APP_STATUS = $False
# Any VM which contains the string "client" on his role name will be created
# on the "LG" pool, if this pools exists.
CLIENT_PREF_POOL = lg
# Any VM which contains the string "driver" on his role name will be created
# on the "LG" pool, if this pools exists.
DRIVER_PREF_POOL = lg
MODE = controllable
ECLIPSED = $False
CREDENTIALS_DIR = $MAIN_BASE_DIR/credentials
DETACH_PARALLELISM = 20
RUNSTATE_PARALLELISM = 5
RANDOMIZE_IMAGE_NAME = $False
EXECUTE_SCRIPT_NAME = execute_on_staging.sh 
EXECUTE_JSON_FILENAME_PREFIX = cb
QEMU_DEBUG = $False
MIGRATE_PROTOCOL = tcp
PROTECT_PROTOCOL = tcp 
MIGRATE_PROTOCOL_SUPPORTED = tcp,rdma
PROTECT_PROTOCOL_SUPPORTED = tcp,rdma
ALTERNATIVE_REMOTE_MTU = $False
ALTERNATIVE_REMOTE_MTU_DEFAULT = 1200
EXPECTED_MTU = 1500
ALTERNATIVE_REMOTE_MTU_INTERFACE = default
USERDATA = $False
USERDATA_POST_BOOT = $False
USERDATA_SSH = $False
USE_VPN_IP = $False
#VPN_ONLY = $False
USE_FLOATING_IP = $False
USE_JUMPHOST = $False
CREATE_JUMPHOST = $False
IS_JUMPHOST = $False
SLA_PROVISIONING_ABORT = $False
SLA_RUNTIME = ok
ERRORS = no
ABORT = $False
BUILD = $False
BOOT_FROM_VOLUME = auto
COMMENTS = $Empty
PROV_CLOUD_PORT = 22
RUN_CLOUD_PORT = 22
CLOUD_MAC = NA
CLOUD_VV_UUID = None
CLOUD_VM_UUID = None
JUMPHOST_BASE_NAME = cb-jumphost
JUMPHOST_LOGIN = auto
JUMPHOST_NETNAMES = all
TIME_BREAKDOWN_STEP = 1
ABORT_AFTER_SSH_UPLOAD_FAILURE = $True
PREPARE_WORKLOAD = None
PREPARE_WORKLOAD_NAMES = None
PREPARE_IMAGE_NAME = None

[AI_DEFAULTS]
USERNAME = $MAIN_USERNAME
UPDATE_FREQUENCY = $MAIN_UPDATE_FREQUENCY
UPDATE_ATTEMPTS = $MAIN_UPDATE_ATTEMPTS
TIMEOUT = $MAIN_TIMEOUT
CONFIGURATION_ATTEMPTS = $MAIN_ATTEMPTS
NOTIFICATION = $MAIN_NOTIFICATION
NOTIFICATION_CHANNEL = auto
VM_CREATION = explicit
VM_DESTRUCTION = explicit
MODE = controllable
LOG_OUTPUT_COMMAND = $True
SAVE_ON_ATTACH = $False
SECONDS_BEFORE_SAVE = 0
PRE_GENERIC_SCRIPTS_DELAY=0
POST_GENERIC_SCRIPTS_DELAY=0
POST_APPLICATION_SCRIPTS_DELAY=0
RUN_APPLICATION_SCRIPTS = $True
DEBUG_REMOTE_COMMANDS = $False
DONT_START_LOAD_MANAGER = $False
CREDENTIALS_DIR = $MAIN_BASE_DIR/credentials
PROPAGATED_ATTRIBUTES = netname, imageid1, login, resource_limits, userdata, image_prefix, image_suffix, 
PROPAGATED_ATTRIBUTES += cloud_vv, cloud_vv_type, boot_from_volume, avalability_zone, compute_node, 
PROPAGATED_ATTRIBUTES += data_dir, data_fstyp, data_size, data_fileserver_ip, data_fileserver_path, 
PROPAGATED_ATTRIBUTES += extra_ports, extra_devices, ports_base, extra_ports_base, privileged, 
PROPAGATED_ATTRIBUTES += sla_provisioning_target, ports_base, namespace, abstraction
TIME_BREAKDOWN_STEP = 1
# Most clouds don't use (or allow access to) libvirt,
# so, enable this only in the right clouds.
DONT_START_QEMU_SCRAPER = $True
RUN_LIMIT = 100000
REPLICATED_VMS = 0
ATTACH_PARALLELISM = 1
DETACH_PARALLELISM = 20
EXECUTE_PARALLELISM = 100 # Used to be 6 -- way too low of a default
RUNSTATE_PARALLELISM = 5
EXECUTE_SCRIPT_NAME = execute_on_staging.sh 
EXECUTE_JSON_FILENAME_PREFIX = cb
VM_ATTACH_ACTION = $Empty
# This allows the tester to set the AI state to 'stopped' after each run
# So that they can change the parameters of the test
PAUSE_AFTER_RUN = $False
# This allows the tester to prevent the load manager from doing anything
# upon initial startup
PAUSE_AFTER_ATTACHED = $False

[AIDRS_DEFAULTS]
USERNAME = $MAIN_USERNAME
SUBMITTER = $True
UPDATE_FREQUENCY = $MAIN_UPDATE_FREQUENCY
UPDATE_ATTEMPTS = $MAIN_UPDATE_ATTEMPTS
NOTIFICATION = $MAIN_NOTIFICATION
NOTIFICATION_CHANNEL = auto
DETACH_PARALLELISM = 20
# This controls the number of simultaneously running AI daemons
# Critical who run CB inside a VM with limited memory =)
# Also for anyone planning to run on their laptop or
# servers with limited memory
# Each daemon process takes up at least 16 MB of memory, so 100 can easily
# surpass 1GB of memory. We need a reasonable default (50), increase if necessary
DAEMON_PARALLELISM = 50 

[VMCRS_DEFAULTS]
USERNAME = $MAIN_USERNAME
SUBMITTER = $True 
UPDATE_FREQUENCY = $MAIN_UPDATE_FREQUENCY
UPDATE_ATTEMPTS = $MAIN_UPDATE_ATTEMPTS
NOTIFICATION = $MAIN_NOTIFICATION
NOTIFICATION_CHANNEL = auto
DETACH_PARALLELISM = 20

[FIRS_DEFAULTS]
USERNAME = $MAIN_USERNAME
SUBMITTER = $True
SWITCH_IP = $EMPTY
UPDATE_FREQUENCY = $MAIN_UPDATE_FREQUENCY
UPDATE_ATTEMPTS = $MAIN_UPDATE_ATTEMPTS
NOTIFICATION = $MAIN_NOTIFICATION
NOTIFICATION_CHANNEL = auto
DETACH_PARALLELISM = 20

[DASH_DEFAULTS]
# This is a basic dashboard configuration that filters out fields
# for objects that don't make sense. Additional filters can be
# added by clicking on the dashboard and saving the configuration URL
# in the user's own configuration file
DASHBOARD_PARAMETERS = monitor?kb2mb=no&failedvm=yes&4k2mb=no&b2mb=no&p=yes
DASHBOARD_PARAMETERS += &h=yes&s=yes&a=yes&filter=s-vmc_name,s-vms,h-type,
DASHBOARD_PARAMETERS +=h-vmc_name,a-vmc_name,h-aidrs_name,h-size,h-age,h-host_name,h-ai_name,h-role,p-vms,a-vms,p-latest_update

[MON_DEFAULTS]
USERNAME = $MAIN_USERNAME
PROTOCOL = TCP
TIMEOUT = $MAIN_TIMEOUT
TIMESERVER = $MANAGER_IP
COLLECT_FROM_HOST = $False
COLLECT_FROM_GUEST = $False
COLLECTOR_KIND = ganglia
COLLECTOR_EXECUTABLE_PATH_SUFFIX = 3rd_party/monitor-core/gmetad-python/gmetad.py
COLLECTOR_PLUGINS_DIR_SUFFIX = 3rd_party/monitor-core/gmetad-python/plugins
COLLECTOR_PROTOCOL = UDP
COLLECTOR_MULTICAST_IP = 239.2.11.71
COLLECTOR_HOST_MULTICAST_PORT = 8649
COLLECTOR_VM_MULTICAST_PORT = 8649
COLLECTOR_AGGREGATOR_HOST_ADDRESS = $MANAGER_IP
COLLECTOR_HOST_PORT = 8649
COLLECTOR_VM_PORT = 8650
COLLECTOR_HOST_AGGREGATOR_PORT = 8651
COLLECTOR_HOST_SUMMARIZER_PORT = 8652
COLLECTOR_VM_AGGREGATOR_PORT = 8651
COLLECTOR_VM_SUMMARIZER_PORT = 8652
FILLER_STRING=NA
#UNCHANGED_STRING=(unchanged)
UNCHANGED_STRING=None

# Attributes recorded during management operations
TRACE_ATTRIBUTES = command_originated, command, name, vmc_arrived, 
TRACE_ATTRIBUTES += vmc_issued, vmc_departed, vmc_failed, 
TRACE_ATTRIBUTES += vm_issued, vm_reservations, vm_arrived, vm_arriving, vm_departed, vm_failed,
TRACE_ATTRIBUTES += ai_issued, ai_reservations, ai_arrived, ai_arriving, ai_departed, ai_failed
HOST_ATTRIBUTES = uuid, name, cloud_ip, cloud_name, model, cloud_hostname, nr_vms
VM_ATTRIBUTES = uuid, name, cloud_ip, last_known_state, cloud_name, model, 
VM_ATTRIBUTES += cloud_hostname, vmc_name, vmc_cloud_ip, host_name, 
VM_ATTRIBUTES += host_cloud_ip, role, size, imageid1, ai, ai_name, type, aidrs, 
VM_ATTRIBUTES += aidrs_name, pattern, utc_offset_delta, tenant, netname,
VM_ATTRIBUTES += total_ai_provisioning_time, instance_preparation_on_vm, application_start_on_vm,
VM_ATTRIBUTES += comments, abort

### Layout of the trace file
TRACE_HEADER = TRACE_ATTRIBUTES

### Layout of the management metrics file
# Layout "components"
VM_ID1 = uuid, name, last_known_state, cloud_ip, cloud_name, model,
VM_ID1 += cloud_hostname, tenant, netname, host_name, host_cloud_ip, vmc_name, vmc_cloud_ip, 
VM_ID1 += role, size, imageid1, ai, ai_name, type, aidrs, aidrs_name, pattern, 
VM_ID1 += utc_offset_delta, abort, comments, instance_preparation_on_vm, application_start_on_vm
HS_ID1 = uuid, name, cloud_ip, model, vmc_name, vmc_cloud_ip, total_ai_provisioning_time
CRT_M = mgt_001_provisioning_request_originated_abs,
CRT_M += mgt_001_provisioning_request_originated, 
CRT_M += mgt_002_provisioning_request_sent, 
CRT_M += mgt_003_provisioning_request_completed, mgt_004_network_acessible, 
CRT_M += mgt_005_file_transfer, mgt_006_instance_preparation, 
CRT_M += mgt_007_application_start

CAP_M = mgt_101_capture_request_originated, mgt_102_capture_request_sent, 
CAP_M += mgt_103_capture_request_completed
RST_M = mgt_201_runstate_request_originated, mgt_202_runstate_request_sent, 
RST_M += mgt_203_runstate_request_completed
DST_M = mgt_901_deprovisioning_request_originated, 
DST_M += mgt_902_deprovisioning_request_sent, 
DST_M += mgt_903_deprovisioning_request_completed

FLR_M = mgt_999_provisioning_request_failed

# Actual layout (do not prefix these variables with $)
VM_MANAGEMENT_METRICS_HEADER = VM_ID1, CRT_M, CAP_M, RST_M, DST_M, FLR_M 
HOST_MANAGEMENT_METRICS_HEADER = HS_ID1, CRT_M, DST_M

### Layout of the runtime metrics file
# Layout "components"
TSTAMP_APP = time, time_h, time_cbtool, time_cbtool_h
TSTAMP_OS = time, time_h
VM_ID2 = uuid, name, role, ai_name, type, host_name, aidrs_name, sla_provisioning
HS_ID2 = uuid, name
#CPU_M = cpu_speed, cores, cpu_num, proc_total, proc_run, cpu_idle, cpu_aidle, 
#CPU_M += cpu_user, cpu_system, cpu_wio, cpu_intr, cpu_sintr, cpu_nice
CPU_M = cpu_speed, cores, cpu_num, proc_total, proc_run, cpu_idle, cpu_aidle,
CPU_M += cpu_user, cpu_system, cpu_wio, cpu_nice, cpu_steal, cpu_guest, cpu_gnice
MEM_M = mem_total, mem_free, mem_cached, mem_buffers, mem_anonpages
SWAP_M = swap_total, swap_free, swap_procs_running, swap_in_flight, 
SWAP_M += swap_procs_blocked, swap_KB_read, swap_ios_read, swap_KB_write, swap_ios_write
NET_M = pkts_in, bytes_in, pkts_out, bytes_out
DSK_M = disk_total, disk_free, ds_in_flight, ds_KB_read, ds_ios_read, ds_KB_write, ds_ios_write

CLOUD_BASE_M = procstat_base-apache2_cpu, procstat_base-apache2_mem, 
CLOUD_BASE_M += procstat_base-dnsmasq_cpu, procstat_base-dnsmasq_mem, 
CLOUD_BASE_M += procstat_base-libvirtd_cpu, procstat_base-libvirtd_mem, 
CLOUD_BASE_M += procstat_base-mysqld_cpu, procstat_base-mysqld_mem, 
CLOUD_BASE_M += procstat_base-openvswitch_cpu, procstat_base-openvswitch_mem,
CLOUD_BASE_M += procstat_base-openvswitch-db_cpu, procstat_base-openvswitch-db_mem,  
CLOUD_BASE_M += procstat_base-ovn-controller_cpu, procstat_base-ovn-controller_mem

OPENSTACK_M = procstat_ceilometer-agent-central_cpu, procstat_ceilometer-agent-central_mem, 
OPENSTACK_M += procstat_ceilometer-agent-compute_cpu, procstat_ceilometer-agent-compute_mem, 
OPENSTACK_M += procstat_ceilometer-agent-notification_cpu, procstat_ceilometer-agent-notification_mem, 
OPENSTACK_M += procstat_ceilometer-alarm-evaluator_cpu, procstat_ceilometer-alarm-evaluator_mem, 
OPENSTACK_M += procstat_ceilometer-alarm-notifier_cpu, procstat_ceilometer-alarm-notifier_mem, 
OPENSTACK_M += procstat_ceilometer-api_cpu, procstat_ceilometer-api_mem, 
OPENSTACK_M += procstat_ceilometer-collector_cpu, procstat_ceilometer-collector_mem, 
OPENSTACK_M += procstat_cinder-api_cpu, procstat_cinder-api_mem, 
OPENSTACK_M += procstat_cinder-scheduler_cpu, procstat_cinder-scheduler_mem, 
OPENSTACK_M += procstat_cinder-volume_cpu, procstat_cinder-volume_mem, 
OPENSTACK_M += procstat_glance-api_cpu, procstat_glance-api_mem, 
OPENSTACK_M += procstat_glance-registry_cpu, procstat_glance-registry_mem, 
OPENSTACK_M += procstat_heat-api-cfn_cpu, procstat_heat-api-cfn_mem, 
OPENSTACK_M += procstat_heat-api-cloudwatch_cpu, procstat_heat-api-cloudwatch_mem, 
OPENSTACK_M += procstat_heat-api_cpu, procstat_heat-api_mem, 
OPENSTACK_M += procstat_heat-engine_cpu, procstat_heat-engine_mem, 
OPENSTACK_M += procstat_keystone_cpu, procstat_keystone_mem, 
OPENSTACK_M += procstat_neutron-dhcp-agent_cpu, procstat_neutron-dhcp-agent_mem, 
OPENSTACK_M += procstat_neutron-l3-agent_cpu, procstat_neutron-l3-agent_mem, 
OPENSTACK_M += procstat_neutron-lbaas-agent_cpu, procstat_neutron-lbaas-agent_mem, 
OPENSTACK_M += procstat_neutron-metadata-agent_cpu, procstat_neutron-metadata-agent_mem, 
OPENSTACK_M += procstat_neutron-ns-metadata-proxy_cpu, procstat_neutron-ns-metadata-proxy_mem, 
OPENSTACK_M += procstat_neutron-openvswitch-agent_cpu, procstat_neutron-openvswitch-agent_mem, 
OPENSTACK_M += procstat_neutron-server_cpu, procstat_neutron-server_mem, 
OPENSTACK_M += procstat_neutron-vpn-agent_cpu, procstat_neutron-vpn-agent_mem, 
OPENSTACK_M += procstat_nova-api_cpu, procstat_nova-api_mem, 
OPENSTACK_M += procstat_nova-cert_cpu, procstat_nova-cert_mem, 
OPENSTACK_M += procstat_nova-compute_cpu, procstat_nova-compute_mem, 
OPENSTACK_M += procstat_nova-conductor_cpu, procstat_nova-conductor_mem, 
OPENSTACK_M += procstat_nova-novncproxy_cpu, procstat_nova-novncproxy_mem, 
OPENSTACK_M += procstat_nova-scheduler_cpu, procstat_nova-scheduler_mem
 
APP_M = app_load_id, app_load_profile, app_load_level, app_datagen_size, 
APP_M += app_datagen_time, app_throughput, app_latency, app_loss, app_jitter,
APP_M += app_bandwidth, app_errors, app_completion_time, app_sla_runtime, app_iterations
# Actual layout (do not prefix these variables with $)
VM_RUNTIME_OS_METRICS_HEADER = TSTAMP_OS, VM_ID2, CPU_M, MEM_M, SWAP_M, NET_M, DSK_M
VM_RUNTIME_APP_METRICS_HEADER = TSTAMP_APP, VM_ID2, APP_M
HOST_RUNTIME_OS_METRICS_HEADER = TSTAMP_OS, HS_ID2, CPU_M, MEM_M, SWAP_M, NET_M, DSK_M 
#
REPORTED_MANAGEMENT_VM_METRIC_NAMES = VM_ID1, CRT_M, CAP_M, RST_M, DST_M, FLR_M 
REPORTED_RUNTIME_OS_HOST_METRIC_NAMES = CPU_M, MEM_M, SWAP_M, NET_M, DSK_M
REPORTED_RUNTIME_OS_VM_METRIC_NAMES = CPU_M, MEM_M, SWAP_M, NET_M, DSK_M
REPORTED_RUNTIME_APP_VM_METRIC_NAMES = app_load_id, app_load_profile, 
REPORTED_RUNTIME_APP_VM_METRIC_NAMES += app_load_level, app_datagen_size, 
REPORTED_RUNTIME_APP_VM_METRIC_NAMES += app_datagen_time, app_throughput, 
REPORTED_RUNTIME_APP_VM_METRIC_NAMES += app_latency, app_bandwidth, app_loss, app_jitter,
REPORTED_RUNTIME_APP_VM_METRIC_NAMES += app_errors, app_completion_time, app_iterations

[API_DEFAULTS]
PORT = 7070
USERNAME = $MAIN_USERNAME
PROTOCOL = TCP
HOSTNAME = $MANAGER_IP
PARAMETERS = $Empty
REMOTE = $False
FILE_IDENTIFIER = $Empty

[GUI_DEFAULTS]
PORT = 8080
PROTOCOL = TCP
HOSTNAME = 0.0.0.0
GTK_LOGIN = $True
GTK_LOGIN_PORT_BASE = 15000
GTK_LOGIN_PORT_MAX = 16000
GTK_DISPLAY = $True
GTK_DISPLAY_PORT_BASE = 17000
GTK_DISPLAY_PORT_MAX = 18000
BRANDING = favicon.ico,20,http://localhost
SSLCERT = $False
SSLKEY = $False

[VPN]
SERVER_IP_DOC = (Optional) If your cloud network is private,\n but 
SERVER_IP_DOC += your CB installation is on a different network,\n 
SERVER_IP_DOC += the tool has the ability to instruct\n the VMs to 
SERVER_IP_DOC += use an OpenVPN server\n to control the virtual 
SERVER_IP_DOC += machines.\nThis address is the externally reachable
SERVER_IP_DOC +=  address\nwhere the OpenVPN server will run
ADDRESS_RANGE_DOC = (Optional) Choose an address range for the OpenVPN\nnetwork to operate on.
START_SERVER = $False
KIND = OpenVPN
SERVER_IP = $MANAGER_IP
SERVER_PORT = 1194
SERVER_BOOTSTRAP = 192.168.0.1
NETWORK = 192.168.0.0
NETMASK = 255.255.0.0
MANAGEMENT_IP = 127.0.0.1
MANAGEMENT_PORT = 1195

[AI_TEMPLATES]
