Environment Variable | Balancer against TLB Server | Balancer against Go Server | TLB Server |
---|---|---|---|
TYPE_OF_SERVER: governs the type of server to use for partitioning(whether to use TLB Server or Go Server). Defaults to tlb.service.TlbServer. | |||
TLB_SPLITTER is algorithm to use for balancing. Defaults to tlb.splitter.DefaultingTestSplitter. | |||
TLB_ORDERER is algorithm to use for ordering. Defaults to tlb.orderer.FailedFirstOrderer. | |||
TLB_PREFERRED_SPLITTERS is list of algorithms to try(most prefered first), and is applicable only when using DefaultingTestSplitter for balancing. Defaults to tlb.splitter.TimeBasedTestSplitter:tlb.splitter.CountBasedTestSplitter. | |||
TLB_TMP_DIR directory to use, to store temproary files. Defaults to system tmp-dir. | |||
TLB_BALANCER_PORT is TCP port the balancing server binds to. Defaults to 8019. | |||
TLB_SERVER_PORT is TCP port the TLB Server binds to. Defaults to 7019 | |||
TLB_DATA_DIR is the directory used by TLB Server to store test-data posted by partitions. Defaults to tlb_store under working directory. | |||
TLB_VERSION_LIFE_IN_DAYS governs how long test-data version is kept from the time its created. Defaults to -1, which means 'forever'. | |||
TLB_SMOOTHING_FACTOR controls how aggressively test-time data is smoothened. Defaults to 1.0 which disables smoothing. | |||
TLB_TOTAL_PARTITIONS declares number of partitions to be made. | |||
TLB_PARTITION_NUMBER for any partition, pin-points which one of the TLB_TOTAL_PARTITIONS is the subject itself. | |||
TLB_BASE_URL is the locator that balancer uses to reach the TLB Server. | |||
TLB_JOB_NAME is namespace that all partitions of a balanced test-task share(must remain the same across invocations as data is stored under this name). | |||
TLB_JOB_VERSION is the string TLB server uses as version identifier for tracking partitions of a particular test-task invocation(should be unique for every invocation). | |||
TLB_USERNAME is the username balancer uses to log-on to Go Server. | |||
TLB_PASSWORD is the password balancer uses to log-on to Go Server. | |||
GO_STAGE_FEED_MAX_SEARCH_DEPTH limits the number of pages balancer is allowed to crawl to find previous instance of stage on Go Server. Defaults to 10. | |||
Other Go support variables that are set by Go before starting the execution of any 'job'. |
Type: Fully qualified Java class name (for instance foo.bar.Baz). When a variable points to class-name, it can also be used to plug-in a user written custom class(that is not bundled with TLB), provided its available in the classpath, and implements the corresponding/relevant interface.
Type: Fully qualified Java class name (for instance foo.bar.Baz). When a variable points to class-name, it can also be used to plug-in a user written custom class(that is not bundled with TLB), provided its available in the classpath, and implements the corresponding/relevant interface.
Type: Fully qualified Java class name (for instance foo.bar.Baz). When a variable points to class-name, it can also be used to plug-in a user written custom class(that is not bundled with TLB), provided its available in the classpath, and implements the corresponding/relevant interface.
$TLB_SPLITTER == 'tlb.splitter.DefaultingTestSplitter'
$TYPE_OF_SERVER == 'tlb.service.GoServer'
ON_BALANCER AND (using alien-language support)
ON_SERVER_SIDE
ON_SERVER_SIDE
ON_SERVER_SIDE
ON_BALANCER_SIDE
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.TlbServer')
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.TlbServer')
1 <= $TLB_PARTITION_NUMBER <= 7 if $TLB_TOTAL_PARTITIONS = 7
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.TlbServer')
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.TlbServer')
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.TlbServer')
$TLB_JOB_VERSION = ${GO_PIPELINE_COUNTER}-${GO_STAGE_COUNTER}
can be a sensible value. TLB will resolve the refered values before using the variable.
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.GoServer')
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.GoServer')
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.GoServer')
ON_BALANCER_SIDE AND ($TYPE_OF_SERVER == 'tlb.service.GoServer')
GO_SERVER_URL | HTTPS url to the go server. |
GO_PIPELINE_NAME | Name of the Pipeline the task that is running tests belongs to. |
GO_STAGE_NAME | Name of the Stage the task that is running tests belongs to. |
GO_JOB_NAME | Name of the Job the task that is running tests belongs to. |
GO_PIPELINE_COUNTER | Counter(instance number) of the Pipeline Instance the task that is running tests belongs to. |
GO_STAGE_COUNTER | Counter(instance number) of the Stage Instance the task that is running tests belongs to. |
GO_PIPELINE_LABEL | Label(logical instance name) of the Pipeline Instance the task that is running tests belongs to. |
For the following variable values: | TLB will interpret the final values(that it uses) as: |
---|---|
foo='bar' |
foo='bar' |
bar='oo' |
bar='oo' |
baz='baz-${alpha:foo:beta}' |
baz='baz-bar' |
quux='baz-${f${boo:bar}}' |
quux='baz-bar' |
complex='${quux}|${q${bang}}' |
complex='baz-bar|baz-bar' |
bang='u${boom}' |
bang='uux' |
boom='u${axe}' |
boom='ux' |
axe='${X}' |
axe='x' |
X='x' |
X='x' |
my_var=${first_var:second_var:third_var}attempts to use the value of
first_varand defaults to
second_varif
first_varis not defined, and similarly defaults to
third_varif
second_varis not defined either. Defaulting can be used along with recursive-interpolation feature to come up with a good and solid variable definition mechanism which plays well with execution environment. Variable named baz and quux use variable defaulting feature in the example above.