Configure the Tosca CI Client

This chapter explains how to configure the behavior of the Tosca Continuous Integration Client (Tosca CI Client) if you want to launch Tosca Distributed Execution from Windows operating systems.

If you want to launch from non-Windows operating systems, see chapter "Configure the Tosca CI Client for non-Windows operating systems".

To configure the Tosca CI Client, follow the steps below:

  1. Define the address of the Tosca Distribution Server. This step is mandatory.

  2. If you set up Distributed Execution with AOS (Automation Object Service), configure the Tosca CI Client for Distributed Execution with AOS.

  3. Optionally, customize the behavior of the Tosca CI Client.

Define the address of the Tosca Distribution Server

To define the address of the Tosca Distribution Server, follow the steps below:

  1. Open the file ToscaCIClient.exe.config. This file is located at %COMMANDER_HOME%\ToscaCI\Client.

  2. Navigate to the endpoint setting in the system.serviceModel section.

  3. In the address attribute, specify the address of the Tosca Distribution Server:

    address="http://<server IP address>:<port>/DistributionServerService/ManagerService.svc"

    Replace <server address> and <port> with the IP address and the port of the Tosca Distribution Server.

Example: Define the address of the Tosca Distribution Server

<system.serviceModel>
    [...]
    <client>
        [...]
        <endpoint address="http://192.168.0.1:85/DistributionServerService/ManagerService.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IManagerService"
                contract="ManagerService.IManagerService" name="BasicHttpBinding_IManagerService" />
    </client>

Configure Tosca CI Client for Distributed Execution with AOS

If you set up Distributed Execution with AOS, you need to configure the Tosca CI Client to work with it.

To do so, follow the steps below:

  1. Open the file ToscaCIClient.exe.config. This file is located at %COMMANDER_HOME%\ToscaCI\Client.

  2. Navigate to the TOSCAContinuousIntegration.TOSCACIClient.Properties.Settings section.

  3. Check that the address of the Automation Object Service is defined correctly in the AOServiceEndpoint setting.

  4. Check that the address of the Tosca Gateway Service is defined correctly in the DiscoveryServiceEndpoint setting.

  5. Change the value of the EnableWorkspacelessExecution setting to True.

  6. In the WorkspaceRootName setting, specify the name of the workspace that you configured for AOS.

Example: Configure Tosca CI Client for Distributed Execution with AOS

<TOSCAContinuousIntegration.TOSCACIClient.Properties.Settings>
    <setting name="AOServiceEndpoint" serializeAs="String">
        <value>http://localhost:5006</value>
    </setting>
    <setting name="EnableWorkspacelessExecution" serializeAs="String">
        <value>True</value>
    </setting>
    <setting name="DiscoveryServiceEndpoint" serializeAs="String">
        <value>http://localhost:5002</value>
    </setting>
    <setting name="WorkspaceRootName" serializeAs="String">
        <value>DEX_Work</value>
    </setting>

Optional configurations for Tosca CI Client

To set optional configurations for the Tosca CI Client, follow the steps below:

  1. Open the file ToscaCIClient.exe.config. This file is located at %COMMANDER_HOME%\ToscaCI\Client.

  2. Modify the following settings:

Setting name

Description

TimestampFormat

Defines the format of the time stamp in the execution result.

The default value of this setting is yyMMdd HHmm.

You can modify this setting with custom strings. For information on possible syntax, see https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings.

PathToResultFile

Defines the path to the result.xml file on the Tosca CI Client. The build server imports this file to display the test results.

You can overwrite this setting with the call parameter -r if you do not want to use the specified path for the execution of a particular test.

ConsiderExecutionResult

If your build server requires exit codes that indicate whether tests were successful or not, set the value of this setting to True. The exit code informs the build server whether the tests have passed or failed, or whether there are no results for one or more ExecutionEntries:

  • Passed: exit code 0

  • Failed: exit code -1

  • No result for ExecutionEntries: exit code -2. This code applies if ReportIntermediateResults is set to True.

The default value WorkspaceRootNameis False.

ResultType

Defines the structure of test results.

If ReportIntermediateResults is True, only result type Junit is possible.

The default value is junit.

CiClientTimeout

Time in milliseconds the Tosca CI Client waits for a response from the Tosca Distribution Server.

If the Tosca CI Client does not receive a response from the Tosca Distribution Server within this time frame, it aborts the execution and removes the request from the queue.

The time interval defined in the CiClientTimeout must not be lower than that of the PollingInterval. If it is, the system automatically uses the time interval defined in the PollingInterval.

The default value is 36000000.

ReportIntermediateResults

If you want to receive results after the execution of each ExecutionEntry in addition to the summary results at the end of the test run, set the value of this setting to True.

The default value is False.

PollingInterval

The interval in milliseconds in which the Tosca CI Client requests a result from the Tosca Distribution Server.

The default value is 60000.

AOServiceRequestTimeout

Time in milliseconds that the Tosca CI Client waits for a response from the AOS. This configuration is optional and only applicable if you use Distributed Execution with AOS.

The Tosca CI Client tries to start the execution by sending the list of TestEvents to the AOS. If it does not receive a response from the AOS within this time frame, it starts polling the Tosca Distribution Server for execution results. If the Tosca Distribution Server has not received information from the AOS about this execution, the poll fails and the Tosca CI Client exits. If this error occurs, you can try increasing the timeout period.

The default value is 300000.

Example: Set new values for CiClientTimeout and PollingInterval

In the example below, you increased the values for CiClientTimeout and PollingInterval:

<userSettings>
    [...]
    <TOSCAContinuousIntegration.TOSCACIClient.Properties.Settings>
        [...]
        <setting name="CiClientTimeout" serializeAs="String">
            <value>40000000</value>
        </setting>
        [...]
        <setting name="PollingInterval" serializeAs="String">
            <value>350000</value>
        </setting>
    </TOSCAContinuousIntegration.TOSCACIClient.Properties.Settings>
</userSettings>