# Parameters for this Virtual Application (Application Instance - AI) type should
# be set on YOUR private configuration configuration file, including the ones 
# commented.

[AI_TEMPLATES : DDGEN]

# Attributes MANDATORY for all Virtual Applications
SUT = ddgen
LOAD_BALANCER_SUPPORTED = $False
RESIZE_SUPPORTED = $False
REGENERATE_DATA = $True
LOAD_GENERATOR_ROLE = ddgen
LOAD_MANAGER_ROLE = ddgen
METRIC_AGGREGATOR_ROLE = ddgen
CAPTURE_ROLE=ddgen
LOAD_PROFILE = default
LOAD_LEVEL = 1024
LOAD_DURATION = 180
CATEGORY = synthetic
PROFILES = default
REFERENCE = https://en.wikipedia.org/wiki/Dd_(Unix)
LICENSE = GPL_v3
REPORTED_METRICS = bandwidth,completion_time,quiescent_time,errors

# VApp-specific MANDATORY attributes
DESCRIPTION =Deploys a single instance, which will use the "dd" GNU utility to write\n
DESCRIPTION +=a variable amount of data (by default from /dev/random) to one\n 
DESCRIPTION +=of its local file systems.\n
DESCRIPTION +=  - LOAD_PROFILE possible values: _PROFILES_ (just run a single\n
DESCRIPTION +=    instance of the dd process and write data to disk).\n
DESCRIPTION +=  - LOAD_LEVEL meaning: number of blocks written to disk.\n 
DESCRIPTION +=  - LOAD_DURATION meaning: not used, a run ends when all data\n
DESCRIPTION +=    (defined by BLOCK_SIZE * LOAD_LEVEL) is written.\n
DESCRIPTION +=  - COMMENT: One of the "Synthetic" Workloads.\n
DESCRIPTION +=    The main use case of this Virtual Application type is the\n
DESCRIPTION +=    testing of "cloud image capture". By writing a specific\n
DESCRIPTION +=    amount of data to an instance's disk, and then capturing the\n
DESCRIPTION +=    instance onto a new image, the cloud "capture" performance\n
DESCRIPTION +=    can be measured.
DDGEN_SETUP1 = cb_check_dd_utility.sh
START = cb_run_ddgen.sh

# VApp-specific modifier parameters. Commented attributes imply default values assumed
BLOCK_SIZE=64K
DATA_SOURCE=/dev/urandom
DDGEN_DATA_DIR = /ddgentest
DDGEN_DATA_FSTYP = ext4
RUN_JUST_ONCE=false

# Inter-Virtual Application instances (inter-AI) synchronized execution. Entirely optional
#SYNC_COUNTER_NAME = synchronization_counter
#CONCURRENT_AIS = 2
#SYNC_CHANNEL_NAME = synchronization_channel
#RUN_COUNTER_NAME = none
