|  | --- | 
|  | Author: Zsolt Szalai | 
|  | Version: 3/155 16-CNL 113 512, Rev. A | 
|  | Date: 2007-11-15 | 
|  |  | 
|  | --- | 
|  | = EPTF PTCdeployment Function Specification | 
|  | :author: Zsolt Szalai | 
|  | :revnumber: 3/155 16-CNL 113 512, Rev. A | 
|  | :revdate: 2007-11-15 | 
|  | :toc: | 
|  |  | 
|  | == How to Read This Document | 
|  |  | 
|  | This is the Function Specification for the PTC deploying component, the `EPTF_PTCD_CT` of the Ericsson Performance Test Framework (TitanSim), Core Load Library (CLL). | 
|  |  | 
|  | == Scope | 
|  |  | 
|  | This document is to specify the functionality of the PTC deployment component of the TitanSim CLL. | 
|  |  | 
|  | = General Description | 
|  |  | 
|  | The EPTF PTCDeployment implements the functionality that allows components to choose a host where new PTCs can be deployed according to specified tasks called roles in the PTCD component. | 
|  |  | 
|  | The PTCD component has the following functionalities: | 
|  |  | 
|  | * Add hosts, roles to the database | 
|  | * Remove hosts from the database | 
|  | * Query a host from the database according to a role | 
|  |  | 
|  | The query happens in a probabilistic way. Every host in the database has a positive integer index called weight that specifies a probability of choosing that host. | 
|  |  | 
|  | There are two ways implemented of choosing the host also. The default is using the TTCN `rnd()` random generator function, and there is a deterministic algorithm too. | 
|  |  | 
|  | Example: | 
|  |  | 
|  | The database contains the following hosts  for a role: | 
|  |  | 
|  | * Host A with weight 1 | 
|  | * Host B with weigth 9 | 
|  |  | 
|  | That means, that there is a 10% chance of choosing "Host A" and 90% of choosing "Host B". | 
|  |  | 
|  | = Functional Interface | 
|  |  | 
|  | == Naming Convention | 
|  |  | 
|  | All public functions have the prefix `f_EPTF_PTCD_`. | 
|  |  | 
|  | == `PTCDeployment` Public Functions | 
|  |  | 
|  | === Initiating | 
|  |  | 
|  | Before using the EPTF PTCD functions the `f_EPTF_PTCD_init_CT(selfName)` function should be called. This function initializes the EPTF PTCD component. | 
|  |  | 
|  | === Database Modification Functions | 
|  |  | 
|  | The function `f_EPTF_PTCD_AddHosts(role,hostlist)` can be used to add host to the role. | 
|  |  | 
|  | The function `f_EPTF_PTCD_RemoveHosts(role, hostlist)` can be used to remove the hosts from the role. | 
|  |  | 
|  | === Query Functions | 
|  |  | 
|  | The function `f_EPTF_PTCD_GetHost(role, method)` can be used to query a host. | 
|  |  | 
|  | = Abbreviations | 
|  |  | 
|  | CLL:: Core Load Library | 
|  |  | 
|  | EPTF:: Ericsson Load Test Framework, formerly TITAN Load Test Framework | 
|  |  | 
|  | TitanSim:: Ericsson Load Test Framework, formerly TITAN Load Test Framework |